/*
* 我也是新手,写一个练练
*/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);
}}
* 我也是新手,写一个练练
*/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);
}}
另外,关于用compareTo比较是什么意思?还有,用PAINT显示好象不太准确吧。还有一个问题,sortStart.addActionListener(new ActionListener() {})用的是匿名类,应该可以理解吧。
//字典序输出字符串
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;
}
}
}
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标志判断 老的位置
}
}
// 这里曾经多了一个 “}”
[email protected],这个速度最快:)