그래, 프로그래밍에 익숙하지 않아 지금까지 내가 할 수있는 것을 탐구 중이다. 나는 게임의 시작처럼 보이는 코드를 썼다. 내 목표는 컴퓨터가 3 명의 다른 사용자에게 자신의 이름을 물어보고 "롤"이라는 단어를 입력하여 임의의 번호를 할당하도록 요청하는 것입니다. 그런 다음 컴퓨터가 누가 가장 먼저 갈 것인지를 가장 높은 숫자로 확인합니다. 코드를 실행하면 코드가 가장 높은 숫자를 확인해야하는 시점까지 코드가 작동합니다. 지금까지이 쓴 :스레드 "main"의 예외 java.lang.NumberFormatException : 입력 문자열의 경우 : "Roll"
이import java.util.Scanner;
import java.util.Random;
class apples{
public static void main(String args[]){
Scanner name = new Scanner(System.in);
Random order = new Random();
String n1;
String n2;
String n3;
String a1;
String a2;
String a3;
System.out.println("Enter the name of the first player: ");
n1 = name.nextLine();
System.out.println("Enter the name of the second player: ");
n2 = name.nextLine();
System.out.println("Enter the name of the third player: ");
n3 = name.nextLine();
System.out.println(n1+ " type 'Roll' for your number: ");
a1 = name.nextLine();
if(a1.equals("Roll")){
String player1 =String.valueOf(1+order.nextInt(10));
System.out.println(player1);
}else{
System.out.println("Please type in Roll.");
}
System.out.println(n2+ " type 'Roll' for your number: ");
a2 = name.nextLine();
if(a2.equals("Roll")){
String player2 =String.valueOf(1+order.nextInt(10));
System.out.println(player2);
}else{
System.out.println("Please type in Roll.");
}
System.out.println(n3+ " type 'Roll' for your number: ");
a3 = name.nextLine();
if(a3.equals("Roll")){
String player3 =String.valueOf(1+order.nextInt(10));
System.out.println(player3);
}else{
System.out.println("Please type in Roll.");
}
int num1 = Integer.parseInt(a1);
int num2 = Integer.parseInt(a2);
int num3 = Integer.parseInt(a3);
if(num1>num2 && num1>num3){
System.out.println(n1+" You will go first.");
}else{
if(num2>num1 && num2>num3){
System.out.println(n2+" You will go first.");
}else{
if(num3>num1 && num3>num2){
System.out.println(n3+" You will go first");
}
}
}
}
내가 수신하고 오류 메시지는 이것이다 : 나는 재생기, player2, player3에 (A3) A2, 문자열의 A1을 변경하고 볼 시도
Exception in thread "main" java.lang.NumberFormatException: For input string: "Roll"
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at apples.main(apples.java:44)
그게 효과가있다면 player1이 변수로 해석 될 수 없다고 말합니다. 사전에 도움을 주셔서 감사합니다!
코드를 형식화하십시오. 그것이 그대로서는 것은 거의 불가능합니다. –
기본적으로 "롤"을 정수로 변환하려고합니다. –
"int num1 = Integer.parseInt (a1)"은 String을 Int로 구문 분석합니다. 그리고 이것은 이것을 좋아하지 않습니다. 어쩌면 3에서 임의의 숫자를 할당할까요? 그러면 무작위로 주문이 선택됩니다. 무엇인가 ... = INT NUM1 인 Math.random() * 4 = INT NUM2 인 Math.random() * 4 = INT num3 인 Math.random() * 4 –