这觉得你这个程序的目的是让用户输入一段文字,然后将每个以小写字母开头的单词大写显示出来(我觉得是一起显示出来并不是后面的每个单词显示一个message窗口.所以应修改为:
1.像楼上一样c=s;不能ParseInt(),第一c是String类型的,第二如果s中有字符他就会不是你想要的结果.
2.将while()循环改为:
String c1="";
while(a.hasMoreTokens())
{
b=a.nextToken();
ch= b.toCharArray();
if(ch[0]>='a'&&ch[0]<'z')
{ch[0]=(char)(ch[0]-32);
}
c1+=new String(ch)+" ";//注为"空格"
}
JOptionPane.showMessageDialog(null, new String(c1)+"");//在while()循环外面.
/**
* @author 作者:###
* @version 创建时间:2008-5-1 下午08:10:38
* 功能说明:
* @version 修改时间:2008-5-1
* 修改原因:
*/
import javax.swing.JOptionPane;
import java.util.*;
public class Change {
public static void main(String args[]) {
String s;
String c;
s=JOptionPane.showInputDialog("Please input a dialog:");
//c=s;//Integer.parseInt(s);//这一行去掉
String d=new String("");
String b;
char ch[];
StringTokenizer a=new StringTokenizer(s);
while(a.hasMoreTokens())
{
b=a.nextToken();
ch= b.toCharArray();
if(ch[0]>='a'&&ch[0]<'z')
{ch[0]=(char)(ch[0]-32);
}
String c1=new String(ch);
JOptionPane.showMessageDialog(null, new String(c1)+"");
}
}
}
你把String改为Int之后,又把int赋给String所以错误~!
c=Integer.parseInt(s)+"";