没有此类元素例外: import java.io.*; 导入java.util.Scanner; 公共级沥青路面{ 公共静态void main(字符串[]args){ int i,t; int[]num=新的int[3]; 对于(i=1;i
你有:没有此类元素例外: import java.io.*; 导入java.util.Scanner; 公共级沥青路面{ 公共静态void main(字符串[]args){ int i,t; int[]num=新的int[3]; 对于(i=1;i,java,exception,Java,Exception,你有: import java.io.*; import java.util.Scanner; public class AsphaltingRoads { public static void main(String[] args) { int i, t; int[] num = new int[3]; for (i = 1; i <= 3; i++) { Scanner in = new Scanner(
import java.io.*;
import java.util.Scanner;
public class AsphaltingRoads {
public static void main(String[] args) {
int i, t;
int[] num = new int[3];
for (i = 1; i <= 3; i++) {
Scanner in = new Scanner(System.in);
int n = in.nextInt();
num[i] = n;
}
for (i = 1; i <= 3; i++) {
if (num[i] > num[i + 1]) {
t = num[i];
num[i] = num[i + 1];
num[i + 1] = t;
}
}
int dis = (num[2] - num[1]) + (num[3] - num[2]);
System.out.print(dis);
}
}
因此,数组中有3个元素(索引0、1、2)
无法获取num[3]元素
您还应该重写for循环。正确格式化您的代码,我们看不到任何东西您的问题是什么?删除i@Shruti
NoTouchElementException中的相等项
只能由.nextInt()中的引发
,以后请附加stacktrace并说明引发异常的位置。您将向此程序传递什么输入?从文档中可以看出,此异常是“如果输入已用尽”引发的。此问题将导致IndexOutOfBoundsException
,而不是NoTouchElementException
。解决此问题的方法是
int []num=new int[3];