このプログラムは動作しますが、実行されますが、私はそれが馬鹿な証拠であることを望みます!そして、私はいくつかの助けが必要です。 ユーザーが何も入力しなかった場合、次の行に移動したくありません!パラメータが満たされていないとwhileループを再起動します
何も書き込まずにEnterキーを押すと、次の行に移動し、変数navn
が最後に完全に空になります。 数字を書いても同じことが起こります。答えがプロンプトを満たしていない場合は、ループを再実行しながら同じ方法を試してみてください。 はどうもありがとうございました:)
import java.util.Scanner;
class Metoder {
public static void main(String[] args) {
String bosted; //Variable
String navn; //Variable
Scanner in = new Scanner(System.in);
System.out.println("Skriv inn navn: "); //What shows up when you first start the program
while (!in.hasNext("[A-Za-z]+")) { //Only allow letters A-Z
in.next();
System.out.println("Tall horer ikke hjemme i navn, prøv igjen!"); //Prints, "numbers dont belong in names, try again" if what the user entered is a number
}
System.out.println("Takk!"); //Says thank you if the user has entered letters
navn = in.nextLine(); //Proceeds to next line
System.out.println("Skriv inn bosted: "); //Next line, where the user is supposed to enter where he/she lives
while (!in.hasNext("[A-Za-z]+")) { //Excactly the same loop as above
in.next();
System.out.println("Tall hører ikke hjemme i stedsnavn, prøv igjen!");
}
System.out.println("Takk!");
bosted = in.nextLine();
System.out.println("Hei, " + navn + "! Du er fra " + bosted + "."); //Prints out what the user has entered previously in a full sentence.
}
}
あなたは数回のコードの同じ部分を使用する場合は、専用のメソッドの中にそれを置くことを検討してください。 – Berger
はい、ありがとうございます! –
whileループ内のすべてをputすると、変数に任意の値が含まれている場合のみwhileループが終了します。 –