社区
Java SE
帖子详情
刚学JAVA,请指教,如何写这样的Applet?(关于字符串)
SkyGG
2002-01-06 06:01:07
编写一个Applet,接受用户输入的字符串,并按字典序输出!
我的想法是这样的:
1。用一个Button,(排序过程开始)一个Label,(用户提示)一个TextField,(接受用户的输入)
2。建立一个String数组保存输入
3。利用字符串compareTo()方法写一个冒泡排序算法
4。在Applet的paint()方法里显示排序后的字符串
请教代码!
...全文
144
8
打赏
收藏
刚学JAVA,请指教,如何写这样的Applet?(关于字符串)
编写一个Applet,接受用户输入的字符串,并按字典序输出! 我的想法是这样的: 1。用一个Button,(排序过程开始)一个Label,(用户提示)一个TextField,(接受用户的输入) 2。建立一个String数组保存输入 3。利用字符串compareTo()方法写一个冒泡排序算法 4。在Applet的paint()方法里显示排序后的字符串 请教代码!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
莫等闲
2002-01-07
打赏
举报
回复
关于排序排序算法嘛,原理一样怎么写都行,我一看你的算法怎么好象是从清华的《数据结构》上来的,呵呵,其中有个设置 flag的优化问题我当时是第一次见到,印象深刻
莫等闲
2002-01-07
打赏
举报
回复
惭愧,我是刚毕业的!
aladdina@263.net,这个速度最快:)
SkyGG
2002-01-07
打赏
举报
回复
无论如何也要谢谢aladdina(Aladdina),说来惭愧,我是计算机系即将毕业的学生,回顾三年多的大学生活,我有许多的感慨。我最好的老师不是在学校,而是在CSDN上我认识了许多的朋友,你也是一个。留下你的email好吗?我的是kaka@public.lz.gs.cn.
莫等闲
2002-01-07
打赏
举报
回复
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
public class strApplet extends Applet implements ActionListener
{
Button btn;
Label prompt;
TextField input;
String[] StrArr=new String[10];
int count;
/**Initialize the applet*/
public void init() {
add(btn = new Button("Sort")); // 这里没有生成对象,会产生异常
add(input = new TextField(30)); // 这里没有生成对象,会产生异常
add(prompt = new Label("input 1 strings"));// 这里没有生成对象,会产生异常
input.addActionListener(this);
btn.addActionListener(this); // 这里没有为SORT按钮添加响应
}
public void paint(Graphics g)
{
for(int i=0;i<StrArr.length;i++){
if(StrArr[i] != null) // 第一次没有初始化的时候会发生异常
g.drawString(StrArr[i],10,40+15*i);
}
}
public void actionPerformed(ActionEvent e){
if (e.getSource()==input){
StrArr[count++] = input.getText();
if(count<10){
prompt.setText("Input "+count+" strings");
input.setText("");
}
else{
prompt.setText("输入完毕!");
input.setVisible(false);
}
}
else if (e.getSource()==btn){ // 这里最好加上 ELSE
StrArrSort();
repaint();
}
}
void StrArrSort()
{
int flag = 0,i,j;
String StrTemp;
for(i=0;i<StrArr.length;i++){
flag=0;
for(j=0;j<StrArr.length-i-1;j++){
if (StrArr[j].compareTo(StrArr[j+1])>0)
{ // 你的程序中这里没有“{”,实际上只有一条语句执行
flag=1;
StrTemp=StrArr[j];
StrArr[j]=StrArr[j+1];
StrArr[j+1]=StrTemp;
}
}
// flag标志判断应该在这里,否则无法发生作用!
if (flag==0 )return;
}
// flag标志判断 老的位置
}
}
// 这里曾经多了一个 “}”
SkyGG
2002-01-06
打赏
举报
回复
谢谢aladdina(Aladdina),但你的排序算法好象有些不对,另,要求是用字符串数组,但我不知用String还是StringBuffer数组,我不知道它的读写方法,我随便写了一下,但我觉的有些不对,不知道是哪。拿出来献丑,大家探讨一下。
//字典序输出字符串
package strsort;
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
public class strApplet extends Applet implements ActionListener{
Button btn;
Label prompt;
TextField input;
String[] StrArr=new String[10];
int count;
/**Initialize the applet*/
public void init() {
add(btn);
add(input);
add(prompt);
input.addActionListener(this);
}
public void paint(Graphics g){
for(int i=0;i<StrArr.length;i++){
g.drawString(StrArr[i],10,40+15*i);
}
}
public void actionPerformed(ActionEvent e){
if (e.getSource()==input){
StrArr[count++]=input.getText();
if(count<10){
prompt.setText("Input"+count+"strings");
input.setText("");
}
else{
prompt.setText("输入完毕!");
input.setVisible(false);
}
}
if (e.getSource()==btn){
StrArrSort();
repaint();
}
}
void StrArrSort(){
int flag,i,j;
String StrTemp;
for(i=0;i<StrArr.length;i++){
flag=0;
for(j=0;j<StrArr.length-i-1;j++){
if (StrArr[j].compareTo(StrArr[j+1])>0)
flag=1;
StrTemp=StrArr[j];
StrArr[j]=StrArr[j+1];
StrArr[j+1]=StrTemp;
}
}
if (flag==0 )
return;
}
}
}
EthanJiang0827
2002-01-06
打赏
举报
回复
我觉得将那个字符串转成字符数组后用sort直接排序然后输出就好了阿!
莫等闲
2002-01-06
打赏
举报
回复
faint!贴出去后格式就不对了,真是抱歉,因为格式话用的是TAB,这个TAB页面好象没处理。
另外,关于用compareTo比较是什么意思?还有,用PAINT显示好象不太准确吧。还有一个问题,sortStart.addActionListener(new ActionListener() {。。。})用的是匿名类,应该可以理解吧。
莫等闲
2002-01-06
打赏
举报
回复
/*
* 我也是新手,写一个练练
*/
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
public class T1 extends Applet {
private Label labelTip;
private Button sortStart;
private TextField text;
private String resultText;
public void init() {
add(labelTip = new Label("Input a string:"));
add(text = new TextField(30));
add(sortStart = new Button("SORT"));
sortStart.addActionListener(
new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
System.out.println("Start To Sort...");
char[] arrayChar = text.getText().toCharArray();
char bubble;
for(int i = 0; i < arrayChar.length; i++)
{
for(int j = i; j < arrayChar.length; j++)
{
if(arrayChar[i] > arrayChar[j])
{
bubble = arrayChar[i];
arrayChar[i] = arrayChar[j];
arrayChar[j] = bubble;
}
}
}
resultText = new String(arrayChar);
System.out.println("The Result is: " + resultText);
repaint();
System.out.println("End Sort...");
}
}
);
}
public void paint(Graphics g) {
g.drawString(resultText,10,50);
}
}
Java
Applet
及其应用
目录 一、定义
Applet
(小程序) 程序基本结构: 编译和运行
Applet
Applet
VS Application 二、
Applet
生命周期 三、向
Applet
传递参数 四、绘制文本 1.设置字体 2.设置样式 3.绘制文本 4.设置颜色 5.绘制几何图形 6.绘制(导入)图像 7.播放声音 8.事件处理 一、定义
Applet
(小程序) 要嵌入到浏览器中运行 是通过Web浏览器在Internet上工作的
Java
程序 嵌在HTML网页中,由支持
Java
...
基于
Java
Applet
绘制拓扑图总结
文章背景:使用
Java
Applet
技术开发小应用程序,并最终将其部署到网页上,使其能够实现从数据库中读取节点、链路数据,并根据数据绘制拓扑图的功能。绘制图像的过程应用jgraph开源软件实现。 技术要点:1、在页面上部署
Java
Applet
应用程序,并调用jgraph.jar包
java
实验报告之
applet
(小程序)
一.实验目的与要求 1.了解
java
Applet
基本框架结构、生命期。 2.了解
Applet
与HTML网页之间的应用关系。 3.了解HTML向
Applet
传递参数。 二、实验内容 2.1实验问题及结果 <1>实验问题:设计如下小应用程序,完成界面功能。需要完成的界面如下图所示: 图一:实验界面图 <2>实验步骤: (1)在编辑区编译
java
源文件,形成类文件.class...
JAVA
中的
Applet
介绍
java
的A
applet
就是
java
语言编
写
的小应用程序,可以直接嵌入到浏览器中运行,产生特殊的效果。它与application的报告方式不同。application是从main()方法开始运行的,而
applet
是在浏览器中运行的。必须创建一个HTML文件,通过HTML语言来告诉浏览器运行哪个
APPLET
以及如何运行。 HelloWorld.
java
源程序: impor
Java
Applet
网页小程序应用示例
1、创建一个
Applet
应用程序 my
Applet
.
java
文件。 (1)程序功能:建立一个
Applet
小程序,使其可以进行简单的加法运算。该程序要包含类、接口、属性、方法、事件等面向对象的基本元素。 (2)程序源代码如下: import
java
.awt.*; import
java
.awt.event.*; import
java
.
applet
.
Applet
; public clas...
Java SE
62,622
社区成员
307,257
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章