package sy5; import java.util.*; public class Main { public static void main(String args[]) { String st; Scanner sc=new Scanner(System.in); st=sc.nextLine(); int i; String x[]=st.split(";"); for(i=0;i<x.length;i++) { System.out.print(x[i]+"\n"); } int sum=0; for(String j:x) { String x1[]=j.split(": "); int price = Integer.parseInt(x1[1].trim()); sum += price; } System.out.println(sum); } }非零返回,请修改代码
时间: 2024-03-05 10:51:00 浏览: 77
在这段代码中,非零返回是因为可能会出现没有输入任何内容的情况,此时直接调用 `nextInt()` 或 `nextLine()` 方法会出现异常。为了避免这种情况,需要在读取输入之前进行检查,可以使用 `hasNextLine()` 方法判断是否还有输入可读取。修改后的代码如下所示:
```
package sy5;
import java.util.*;
public class Main {
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
if (!sc.hasNextLine()) {
System.out.println("输入为空!");
return;
}
String st = sc.nextLine();
int i;
String x[] = st.split(";");
for (i = 0; i < x.length; i++) {
System.out.print(x[i] + "\n");
}
int sum = 0;
for (String j : x) {
String x1[] = j.split(": ");
int price = Integer.parseInt(x1[1].trim());
sum += price;
}
System.out.println(sum);
}
}
```
阅读全文
相关推荐

















