我有一个小问题。我需要读一行中的两个单词,分别是put name和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 programa genera los promedios de las notas de cuatro unidadesn"
+ "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:tttPromedio");
for(int m=0;m<=4;m++)
System.out.printf("%s:tt%.2fn",x[m],c[m]);
}
这里我有错误:x[y]=Marbis.nextLine();
我知道我在一行中用它来表示两个或多个单词,但在第二次机会中,它会标记我错误,如下所示(这就是结果,我认为我可以在下一行中使用数组(:
MArio Albert
100
100.00
78.00
100.00
Ingrese el nombre:
John Antoinie
Exception in thread "main" java.util.InputMismatchException
at java.util.Scanner.throwFor(Scanner.java:864)
at java.util.Scanner.next(Scanner.java:1485)
at java.util.Scanner.nextDouble(Scanner.java:2413)
at vectormarbis1.MarbisVectors2.Promedios5(MarbisVectors2.java:125)
at vectormarbis1.VectorMarbis1.main(VectorMarbis1.java:28)
C:UsersManoloAurelioAppDataLocalNetBeansCache8.1executor-snippetsrun.xml:53: Java returned: 1
BUILD FAILED (total time: 39 seconds)
您只能在Java中flush
输出。
何时丢弃线路的其余部分?要解决您的问题,您可以致电
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 unidadesn"
+ "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:tttPromedio");
for(int m=0;m<=4;m++)
System.out.printf("%s:tt%.2fn",x[m],c[m]);
}