无效的输入流不起作用 - 每次我给出负的月份值时,它都会返回此异常。
代码:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input= new Scanner(System.in);
System.out.println("Enter the number of months :");
int month = input.nextInt();
if(month<0)
{
System.out.println("Invalid Input");
}
int sum = 0;
int a[] = new int[month];
System.out.println("Enter the profit of each month in shipment");
for (int i=0; i<month; i++)
{
a[i] = input.nextInt();
sum = sum+a[i];
}
System.out.println("Total profit : "+sum);
}
}
最佳答案
正如输入所示,您无法创建负大小的数组。您正确检查了输入的月份
,但是当您得到负值时,您不会终止流程。此时返回或退出应该可以解决问题。例如:
if (month < 0) {
System.out.println("Invalid Input");
return; // Here
}
关于java - Main.main 线程 "main"java.lang.NegativeArraySizeException 中出现异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47196361/