Java 异常 [SWITCH && SCANNER]
Java exception [SWITCH && SCANNER]
我试图使用开关和扫描仪制作我的第一个 java 程序,但我无法修复 returns 我的错误。
错误:
Exception in thread "main" java.util.NoSuchElementException
at java.util.Scanner.throwFor(Scanner.java:862)
at java.util.Scanner.next(Scanner.java:1485)
at java.util.Scanner.nextInt(Scanner.java:2117)
at java.util.Scanner.nextInt(Scanner.java:2076)
at Operazioni.main(Operazioni.java:13)
代码:
import java.util.Scanner;
public class Operazioni{
public static void main(String[] args){
int risultato;
int select;
int num1,num2;
Scanner oggetti = new Scanner(System.in);
System.out.println("Che operazione vuoi effettuare?");
System.out.println("1. Addizione, 2. Sottrazione, 3. Moltiplicazione 4. Divisione");
select = oggetti.nextInt();
switch (select) {
case 1:
System.out.print("Inserisci il primo numero");
num1 = oggetti.nextInt();
System.out.print("Inserisci il secondo numero");
num2 = oggetti.nextInt();
risultato = num1 + num2;
System.out.println("Il risultato dell'addizione è " + risultato);
case 2:
System.out.print("Inserisci il primo numero");
num1 = oggetti.nextInt();
System.out.print("Inserisci il secondo numero");
num2 = oggetti.nextInt();
risultato = num1 - num2;
System.out.println("Il risultato della sottrazione è " + risultato);
break;
case 3:
System.out.print("Inserisci il primo numero");
num1 = oggetti.nextInt();
System.out.print("Inserisci il secondo numero");
num2 = oggetti.nextInt();
risultato = num1 * num2;
System.out.println("Il risultato della moltiplicazione è " +risultato);
case 4:
System.out.print("Inserisci il primo numero");
num1 = oggetti.nextInt();
System.out.print("Inserisci il secondo numero");
num2 = oggetti.nextInt();
risultato = num1 / num2;
System.out.println("Il risultato della divisione è " + risultato);
default:
System.out.println("Errore, scelta non esistente");
}
}
}
代码写的顺序不对还请见谅
您的 switch-case 语法缺少中断;声明
试试这个代码:
import java.util.Scanner;
public class Operazioni {
public static void main(String[] args) {
int risultato;
int select;
int num1, num2;
Scanner oggetti = new Scanner(System.in);
System.out.println("Che operazione vuoi effettuare?");
System.out.println("1. Addizione, 2. Sottrazione, 3. Moltiplicazione 4. Divisione");
select = oggetti.nextInt();
switch (select) {
case 1:
System.out.print("Inserisci il primo numero");
num1 = oggetti.nextInt();
System.out.print("Inserisci il secondo numero");
num2 = oggetti.nextInt();
risultato = num1 + num2;
System.out.println("Il risultato dell'addizione è " + risultato);
break;
case 2:
System.out.print("Inserisci il primo numero");
num1 = oggetti.nextInt();
System.out.print("Inserisci il secondo numero");
num2 = oggetti.nextInt();
risultato = num1 - num2;
System.out.println("Il risultato della sottrazione è " + risultato);
break;
case 3:
System.out.print("Inserisci il primo numero");
num1 = oggetti.nextInt();
System.out.print("Inserisci il secondo numero");
num2 = oggetti.nextInt();
risultato = num1 * num2;
System.out.println("Il risultato della moltiplicazione è " + risultato);
break;
case 4:
System.out.print("Inserisci il primo numero");
num1 = oggetti.nextInt();
System.out.print("Inserisci il secondo numero");
num2 = oggetti.nextInt();
risultato = num1 / num2;
System.out.println("Il risultato della divisione è " + risultato);
default:
System.out.println("Errore, scelta non esistente");
}
}
}
尽管您忘记在情况 1,3 和 4 中添加 break 语句,但您的代码是正确的
您已使用 scannerobj.nextInt() 读取用户输入,扫描器的 nextInt() 方法 class,从用户读取一个 int 值,我猜你的情况是用户输入的是字符串而不是导致此错误的整数
这是工作代码(附输出SS):
import java.util.Scanner;
public class HelloWorld {
public static void main(String[] args) {
// TODO Auto-generated method stub
int risultato;
int select;
int num1,num2;
Scanner oggetti = new Scanner(System.in);
System.out.println("Che operazione vuoi effettuare?");
System.out.println("1. Addizione, 2. Sottrazione, 3. Moltiplicazione 4. Divisione");
select = oggetti.nextInt();
switch (select) {
case 1:
System.out.print("Inserisci il primo numero");
num1 = oggetti.nextInt();
System.out.print("Inserisci il secondo numero");
num2 = oggetti.nextInt();
risultato = num1 + num2;
System.out.println("Il risultato dell'addizione è " + risultato);
break;
case 2:
System.out.print("Inserisci il primo numero");
num1 = oggetti.nextInt();
System.out.print("Inserisci il secondo numero");
num2 = oggetti.nextInt();
risultato = num1 - num2;
System.out.println("Il risultato della sottrazione è " + risultato);
break;
case 3:
System.out.print("Inserisci il primo numero");
num1 = oggetti.nextInt();
System.out.print("Inserisci il secondo numero");
num2 = oggetti.nextInt();
risultato = num1 * num2;
System.out.println("Il risultato della moltiplicazione è " +risultato);
break;
case 4:
System.out.print("Inserisci il primo numero");
num1 = oggetti.nextInt();
System.out.print("Inserisci il secondo numero");
num2 = oggetti.nextInt();
risultato = num1 / num2;
System.out.println("Il risultato della divisione è " + risultato);
break;
default:
System.out.println("Errore, scelta non esistente");
}
}
}
我试图使用开关和扫描仪制作我的第一个 java 程序,但我无法修复 returns 我的错误。
错误:
Exception in thread "main" java.util.NoSuchElementException
at java.util.Scanner.throwFor(Scanner.java:862)
at java.util.Scanner.next(Scanner.java:1485)
at java.util.Scanner.nextInt(Scanner.java:2117)
at java.util.Scanner.nextInt(Scanner.java:2076)
at Operazioni.main(Operazioni.java:13)
代码:
import java.util.Scanner;
public class Operazioni{
public static void main(String[] args){
int risultato;
int select;
int num1,num2;
Scanner oggetti = new Scanner(System.in);
System.out.println("Che operazione vuoi effettuare?");
System.out.println("1. Addizione, 2. Sottrazione, 3. Moltiplicazione 4. Divisione");
select = oggetti.nextInt();
switch (select) {
case 1:
System.out.print("Inserisci il primo numero");
num1 = oggetti.nextInt();
System.out.print("Inserisci il secondo numero");
num2 = oggetti.nextInt();
risultato = num1 + num2;
System.out.println("Il risultato dell'addizione è " + risultato);
case 2:
System.out.print("Inserisci il primo numero");
num1 = oggetti.nextInt();
System.out.print("Inserisci il secondo numero");
num2 = oggetti.nextInt();
risultato = num1 - num2;
System.out.println("Il risultato della sottrazione è " + risultato);
break;
case 3:
System.out.print("Inserisci il primo numero");
num1 = oggetti.nextInt();
System.out.print("Inserisci il secondo numero");
num2 = oggetti.nextInt();
risultato = num1 * num2;
System.out.println("Il risultato della moltiplicazione è " +risultato);
case 4:
System.out.print("Inserisci il primo numero");
num1 = oggetti.nextInt();
System.out.print("Inserisci il secondo numero");
num2 = oggetti.nextInt();
risultato = num1 / num2;
System.out.println("Il risultato della divisione è " + risultato);
default:
System.out.println("Errore, scelta non esistente");
}
}
}
代码写的顺序不对还请见谅
您的 switch-case 语法缺少中断;声明 试试这个代码:
import java.util.Scanner;
public class Operazioni {
public static void main(String[] args) {
int risultato;
int select;
int num1, num2;
Scanner oggetti = new Scanner(System.in);
System.out.println("Che operazione vuoi effettuare?");
System.out.println("1. Addizione, 2. Sottrazione, 3. Moltiplicazione 4. Divisione");
select = oggetti.nextInt();
switch (select) {
case 1:
System.out.print("Inserisci il primo numero");
num1 = oggetti.nextInt();
System.out.print("Inserisci il secondo numero");
num2 = oggetti.nextInt();
risultato = num1 + num2;
System.out.println("Il risultato dell'addizione è " + risultato);
break;
case 2:
System.out.print("Inserisci il primo numero");
num1 = oggetti.nextInt();
System.out.print("Inserisci il secondo numero");
num2 = oggetti.nextInt();
risultato = num1 - num2;
System.out.println("Il risultato della sottrazione è " + risultato);
break;
case 3:
System.out.print("Inserisci il primo numero");
num1 = oggetti.nextInt();
System.out.print("Inserisci il secondo numero");
num2 = oggetti.nextInt();
risultato = num1 * num2;
System.out.println("Il risultato della moltiplicazione è " + risultato);
break;
case 4:
System.out.print("Inserisci il primo numero");
num1 = oggetti.nextInt();
System.out.print("Inserisci il secondo numero");
num2 = oggetti.nextInt();
risultato = num1 / num2;
System.out.println("Il risultato della divisione è " + risultato);
default:
System.out.println("Errore, scelta non esistente");
}
}
}
尽管您忘记在情况 1,3 和 4 中添加 break 语句,但您的代码是正确的
您已使用 scannerobj.nextInt() 读取用户输入,扫描器的 nextInt() 方法 class,从用户读取一个 int 值,我猜你的情况是用户输入的是字符串而不是导致此错误的整数
这是工作代码(附输出SS):
import java.util.Scanner;
public class HelloWorld {
public static void main(String[] args) {
// TODO Auto-generated method stub
int risultato;
int select;
int num1,num2;
Scanner oggetti = new Scanner(System.in);
System.out.println("Che operazione vuoi effettuare?");
System.out.println("1. Addizione, 2. Sottrazione, 3. Moltiplicazione 4. Divisione");
select = oggetti.nextInt();
switch (select) {
case 1:
System.out.print("Inserisci il primo numero");
num1 = oggetti.nextInt();
System.out.print("Inserisci il secondo numero");
num2 = oggetti.nextInt();
risultato = num1 + num2;
System.out.println("Il risultato dell'addizione è " + risultato);
break;
case 2:
System.out.print("Inserisci il primo numero");
num1 = oggetti.nextInt();
System.out.print("Inserisci il secondo numero");
num2 = oggetti.nextInt();
risultato = num1 - num2;
System.out.println("Il risultato della sottrazione è " + risultato);
break;
case 3:
System.out.print("Inserisci il primo numero");
num1 = oggetti.nextInt();
System.out.print("Inserisci il secondo numero");
num2 = oggetti.nextInt();
risultato = num1 * num2;
System.out.println("Il risultato della moltiplicazione è " +risultato);
break;
case 4:
System.out.print("Inserisci il primo numero");
num1 = oggetti.nextInt();
System.out.print("Inserisci il secondo numero");
num2 = oggetti.nextInt();
risultato = num1 / num2;
System.out.println("Il risultato della divisione è " + risultato);
break;
default:
System.out.println("Errore, scelta non esistente");
}
}
}