java.lang.Integer.parseInt(Unknown Source)

发布网友 发布时间:2022-04-22 05:46

我来回答

3个回答

热心网友 时间:2024-03-08 04:44






while(true){
System.out.println("请输入2个数字,用空格分隔:");
Scanner scanner=new Scanner(System.in);
String num=scanner.nextLine();
numArray=num.split(" ");//用空格来拆分

if(numArray.length==2){
break;
}else{
System.out.println("输入有误请重新输入!");
}
}

int num1=Integer.parseInt(numArray[0]);//转换成int
int num2=Integer.parseInt(numArray[1]);//转换成int
System.out.println("他们的和是:"+(num1+num2));

我大致看明白了,就是不明白为什么你不用split做拆分,写的这么复杂……一般拆分的话用split很方便。

你那个异常是数字类型转换异常,Unknown Source我一般理解为传过去的参数一个null才会出这个错误

热心网友 时间:2024-03-08 04:44

import java.util.ArrayList;
import java.util.Iterator;

public class TestCollection {
public static void main(String[] args) {
int ch = 0;
int pos = 0;
int sum = 0;
boolean bFlag = true;
byte[] buf = new byte[1024];
ArrayList al = new ArrayList();
System.out.println("Please input number: ");
while (bFlag) {
try {
ch = System.in.read();
} catch (Exception e) {
System.out.println(e.getMessage());
}
switch (ch) {
case ' ':
al.add(new String(buf, 0, pos));
pos = 0;
break;
case '\n':
al.add(new String(buf, 0, pos));
bFlag = false;
break;
default:
buf[pos++] = (byte) ch;
}
}
Iterator itr = al.iterator();
while (itr.hasNext()) {
String obj1 = (String) itr.next();
sum += Integer.parseInt(obj1.trim());//这一行修改为obj.trim()即可
}
System.out.println("The summary is " + sum);


}
}

热心网友 时间:2024-03-08 04:44

给你个思路吧,当读到回车的时候,按照空格截取字符串,然后在paraseInt

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com