二维数组,线程中的异常;“主要”;java.util.InputMismatchException
我有个小问题。我需要在一行中读两个单词,分别是PutName和lastname二维数组,线程中的异常;“主要”;java.util.InputMismatchException,java,multidimensional-array,inputmismatchexception,Java,Multidimensional Array,Inputmismatchexception,我有个小问题。我需要在一行中读两个单词,分别是PutName和lastname public void Promedios5(){ Scanner Marbis=new Scanner(System.in); String[] x=new String[5]; double[][] a=new double[5][4]; double[] b=new double [5],c=new double[5]; System.out.println("Este
public void Promedios5(){
Scanner Marbis=new Scanner(System.in);
String[] x=new String[5];
double[][] a=new double[5][4];
double[] b=new double [5],c=new double[5];
System.out.println("Este programa genera los promedios de las notas de cuatro unidades\n"
+ "se le solicitarán a usted, el nombre y las cuatro notas");
System.out.println("Podría ingresarlas ahora por favor:");
for(int y=0;y<=4;y++){
System.out.println("Ingrese el nombre:");
x[y]=Marbis.nextLine();
for(int z=0;z<=3;z++){
a[y][z]=Marbis.nextDouble();
}
b[y]=a[y][0]+a[y][1]+a[y][2]+a[y][3];
c[y]=b[y]/4;
}
System.out.println("Ahora usted verá los promedios de las personas:");
System.out.println("Nombre:\t\t\tPromedio");
for(int m=0;m<=4;m++)
System.out.printf("%s:\t\t%.2f\n",x[m],c[m]);
}
您只需
flush
Java中的输出
何时丢弃剩余的线路?要解决你的问题,你可以打电话
input.nextLine();
您需要在nextDouble()
之后执行此操作,因为您希望从下一行读取
我希望下面给出的代码能帮助您解决问题
public void Promedios5(){
Scanner Marbis=new Scanner(System.in);
String[] x=new String[5];
double[][] a=new double[5][4];
double[] b=new double [5],c=new double[5];
System.out.println("Este programa genera los promedios de las notas de cuatro unidades\n"
+ "se le solicitarán a usted, el nombre y las cuatro notas");
System.out.println("Podría ingresarlas ahora por favor:");
for(int y=0;y<=4;y++){
System.out.println("Ingrese el nombre:");
x[y]=Marbis.nextLine();
for(int z=0;z<=3;z++){
a[y][z]=Marbis.nextDouble();
}
Marbis.nextLine(); //Just add this line here
b[y]=a[y][0]+a[y][1]+a[y][2]+a[y][3];
c[y]=b[y]/4;
}
System.out.println("Ahora usted verá los promedios de las personas:");
System.out.println("Nombre:\t\t\tPromedio");
for(int m=0;m<=4;m++)
System.out.printf("%s:\t\t%.2f\n",x[m],c[m]);
}
公共无效Promedios5(){
扫描仪Marbis=新扫描仪(System.in);
字符串[]x=新字符串[5];
double[]a=新的double[5][4];
double[]b=新双精度[5],c=新双精度[5];
System.out.println(“在联合国系统中的一般项目\n”
+“律师事务所,名称和名称”);
System.out.println(“Podría Ingrearlas ahora por-favor:”);
对于(int y=0;y您只flush
Java中的输出
什么时候放弃剩下的线路?要解决您的问题,您可以致电
input.nextLine();
您需要在nextDouble()
之后执行此操作,因为您希望从下一行读取
我希望下面给出的代码能帮助您解决问题
public void Promedios5(){
Scanner Marbis=new Scanner(System.in);
String[] x=new String[5];
double[][] a=new double[5][4];
double[] b=new double [5],c=new double[5];
System.out.println("Este programa genera los promedios de las notas de cuatro unidades\n"
+ "se le solicitarán a usted, el nombre y las cuatro notas");
System.out.println("Podría ingresarlas ahora por favor:");
for(int y=0;y<=4;y++){
System.out.println("Ingrese el nombre:");
x[y]=Marbis.nextLine();
for(int z=0;z<=3;z++){
a[y][z]=Marbis.nextDouble();
}
Marbis.nextLine(); //Just add this line here
b[y]=a[y][0]+a[y][1]+a[y][2]+a[y][3];
c[y]=b[y]/4;
}
System.out.println("Ahora usted verá los promedios de las personas:");
System.out.println("Nombre:\t\t\tPromedio");
for(int m=0;m<=4;m++)
System.out.printf("%s:\t\t%.2f\n",x[m],c[m]);
}
公共无效Promedios5(){
扫描仪Marbis=新扫描仪(System.in);
字符串[]x=新字符串[5];
double[]a=新的double[5][4];
double[]b=新双精度[5],c=新双精度[5];
System.out.println(“在联合国系统中的一般项目\n”
+“律师事务所,名称和名称”);
System.out.println(“Podría Ingrearlas ahora por-favor:”);
for(int y=0;yIt是因为您的x[y]=Marbis.nextLine();
在获取双精度值后将新行字符作为字符串。在获取双精度值后尝试刷新输入。这是因为您的x[y]=Marbis.nextLine());
在接受双精度值后将新行字符作为字符串。在接受双精度值后尝试刷新输入。