首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Eclipse开发 >

怎么将输入的汉字编入数组中

2012-03-12 
如何将输入的汉字编入数组中package Q1import javax.swing.JOptionPanepublic class p97页490 {/** * @p

如何将输入的汉字编入数组中
package Q1;

import javax.swing.JOptionPane;

public class p97页490 {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String stringnum=JOptionPane.showInputDialog("请输入有几个学生:");
int num=Integer.parseInt(stringnum);

char[] name=new char[num-1];
int[] mark=new int[num-1];

for(int i=1;i<=num;i++){
String stringname=JOptionPane.showInputDialog("请输入第"+i+"个学生的姓名");
name[i-1]=Integer.valueOf(stringname);
String stringmark=JOptionPane.showInputDialog("请输入第"+i+"个学生的分数");
mark[i-1]=Integer.parseInt(stringmark);
}

int max=0,max2=0,num1=0,num2=0;

for(int i=0;i<num;i++){
if(mark[i]>max)
max=mark[i];
num1=i;
}
for(int i=0;i<num;i++){
if(mark[i]>max2&&mark[i]!=max)
max2=mark[i];
num2=i;
}

JOptionPane.showMessageDialog(null, "最高分的学生是"+name[num1]+"\n第二高分的学生是"+name[num2]);
}

}


[解决办法]
先用System.out.println(stringname),看看内容是啥先。

不过。。。你不会是编译错误吧?
name[i-1]=Integer.valueOf(stringname);
你的右括号和分号,都是中文的,应该修改为英文,否则无法通过编译。
[解决办法]
再看了下,发现逻辑错的不是一点半点:
name[i-1]=Integer.valueOf(stringname);
名字,你拿来转为Integer?这能转换么?

如果你非要转为char,那也只能转为char[],比如 stringname.toCharArray();
但如果这样的话,你的char[] name,就要改为 char[][] name,否则放不下多个名字。

总的来说,比较乱,看有无好心人直接给你提供修改好的成品代码吧。

[解决办法]
package Q1;

import javax.swing.JOptionPane;

public class p97页490 {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String stringnum=JOptionPane.showInputDialog("请输入有几个学生:");
int num=Integer.parseInt(stringnum);

String[] name=new String[num-1];
int[] mark=new int[num-1];

for(int i=1;i<=num;i++){
String stringname=JOptionPane.showInputDialog("请输入第"+i+"个学生的姓名");
name[i-1]=stringname;
String stringmark=JOptionPane.showInputDialog("请输入第"+i+"个学生的分数");
mark[i-1]=Integer.parseInt(stringmark);
}

int max=0,max2=0,num1=0,num2=0;

for(int i=0;i<num;i++){
if(mark[i]>max)
max=mark[i];
num1=i;
}
for(int i=0;i<num;i++){
if(mark[i]>max2&&mark[i]!=max)
max2=mark[i];
num2=i;
}

JOptionPane.showMessageDialog(null, "最高分的学生是"+name[num1]+"\n第二高分的学生是"+name[num2]);
}

}
 

[解决办法]
你这个程序有点问题,我帮你改了一下,不知是不是你所要实现的样子:
import javax.swing.JOptionPane;

public class ts2 {
public static void main(String[] args)
{
// TODO Auto-generated method stub
String stringnum=JOptionPane.showInputDialog("请输入有几个学生:");
int num=Integer.parseInt(stringnum);

String[] name=new String[num];
int[] mark=new int[num];

for(int i=0;i<num;i++){
String stringname=JOptionPane.showInputDialog("请输入第"+i+"个学生的姓名");
name[i]=stringname;
String stringmark=JOptionPane.showInputDialog("请输入第"+i+"个学生的分数");
mark[i]=Integer.parseInt(stringmark);
}

int max=0,max2=0,num1=0,num2=0;

for(int i=0;i<num;i++){
if(mark[i]>max)
max=mark[i];
num1=i;
}
for(int i=0;i<num;i++){
if(mark[i]>max2&&mark[i]!=max)


max2=mark[i];
num2=i;
}
JOptionPane.showMessageDialog(null,"最高分的学生是"+name[num1]+"\n第二高分的学生是"+name[num2]);
}

}

热点排行