현재 학교 과제물을 작성 중이며 거의 완료되었지만 추가하기 전에 해결해야 할 큰 문제가 있습니다. 마지막 비트.잘못된 입력 후에 자바 프로그램을 처음부터 다시 시작해야합니다.
1 또는 2를 입력하라는 메시지를 작성해야합니다. 그런 다음 세 단어/이름을 입력하고 배열에 저장하라는 메시지가 표시됩니다.
그런 다음 1 개 또는 2 개를 선택했는지에 따라 알파벳순으로 인쇄하거나 소문자와 대문자를 뒤집습니다. 첫 번째 입력과 관련된 문제를 해결하려고하기 때문에 아직 그 부분을 추가하지 않았습니다.
1 또는 2 이외의 숫자를 입력하면 오류 메시지가 표시되고 다시 입력하라는 메시지가 표시됩니다. 나는 전체 프로그램을 다시 복사/붙여 넣기를 다시하기 때문에 전체 프로그램을 처음부터 다시 시작하는 것이 좋을 것이라고 확신한다. lol
큰 문제는 아마 if/else를 사용하고있는 것이다. 루프 내에서 전체를 넣어야 할 때 for 루프를 사용하는 문장? 그러나 전체 코드를 넣으면 루프를 시작하기 위해 어떤 조건을 사용할 지 모르겠습니다. 여기에 뭔가 빠져 있어야합니다. 지금, 그것은 당신이 따라서 당신이 명령을 사용하여 다시 시작할 수 있습니다, 응용 프로그램을 종료하는 1 또는 2
import java.util.Scanner;
public class IsabellaPiantoniLab5 {
public static void main (String[]args) {
//Ask for input
Scanner input = new Scanner(System.in);
System.out.print("Please choose either a number 1 or number 2.");
int numChoice = input.nextInt();
//if choice is 1 or 2
if (numChoice == 1 || numChoice == 2) {
System.out.println("Please enter three names: ");
String nameInput[] = new String[4];
//input loop
for (int i= 0; i < nameInput.length; i++) {
nameInput[i] = input.nextLine();
}
System.out.println("Values are:");
//display values if 1
if (numChoice == 1) {
for (int i=1; i<4; i++) {
System.out.println(nameInput[i]);
}
}
//display values if 2
else if (numChoice == 2) {
for (int i=1; i<4; i++) {
System.out.println(nameInput[i]);
}
}
}
//retry if invalid------i restart from the beginning if this happens
else if (numChoice != 1 || numChoice != 2) {
System.out.println("Invalid value. Please try again.");
//continue;
}
}
}
모든 코드를'main()'에 넣는 대신, 기능 비트를 자신의 메소드로 분해 해보십시오. 그렇게하면 코드를 (다시) 호출하는 것이 훨씬 쉬울 것입니다. – azurefrog
'while (userInput! = 1 || 2) {userInput = askForUserInput()}'과 같은 것이 필요합니다. – csmckelvey
당신은 "if (numChoice! = 1 || numChoice! = 2)"라고 썼지 만 그것은 항상 사실입니다. numChoice가 하나가 아니거나 두 개가 아닙니다. – jorgbrown