今天做程序遇到一个问题,就是在利用二维数组存储学生的姓名与成绩。但是数组要储存同一类型的数据,所以我只能把姓名与成绩都定义成String类型,但是之后要涉及到更改成绩的问题,所以必须要在成绩上作出改动,这个时候就用到了Integer.parseInt()和Integer.toString()。举例说明:
public void getNames1(String[][] names) { for (int i = 0; i < names.length; i++) { for (int j = 0; j < names[i].length; j++) { /** *这个if语句是在判断我输入的是学生姓名还是成绩,我是先 *输入姓名然后输入成绩的,并只定义了两列,只有姓名与成绩 *所以判断0就是姓名,其他的就是成绩,也就是我要修改的“数字” */ if (j == 0) { System.out.print(names[i][j]); System.out.print("的成绩是\t"); } else { names[i][j] = Integer.toString(Integer.parseInt(names[i][j]) + 2); System.out.print(names[i][j]); } } System.out.println(); } }
我是想要把names[i][j]的值进行数字上的+2,但是names是一个String类型的数组,所以names的值也是String类型的。如果想要进行数字上的运算,只能将其转换为转换为数字类型的值,通过Integer.parseInt()来将其转换为int类型,之后再做运算(我这里的运算只是简单地+2)。值变为了int类型之后也不能直接赋值给String类型的names[i][j],道理你都懂把0.0(因为这个数组还是String类型的,只能接受String类型的值),所以还需要通过Integer.toString()将运算后的name[i][j]转换为String类型再赋给name[i][j],这样就实现了字符串的里的数字的运算。