Java中二维数组关于String类型与Int类型的转换与计算

今天做程序遇到一个问题,就是在利用二维数组存储学生的姓名与成绩。但是数组要储存同一类型的数据,所以我只能把姓名与成绩都定义成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],这样就实现了字符串的里的数字的运算。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值