これは私が持っている基本的なプログラムの一部です。エラーや間違った情報が流れないように努めています。コードのこの部分では、ユーザーが名前を入力する場所を設定しましたが、数字や記号が含まれている場合は、適切な何かが入力されるまでエラーを返すはずです。ただし、これは時々しか機能しません。いつ機能するか機能しないかについて、どのようなパターンも把握できません。私が気づいた唯一のことは、それが長ければ長いほど、通り過ぎる可能性が高いということです.
import java.util.Scanner;
public class Challenge1Easy
{
public static void main(String[] args)
{
Scanner reader = new Scanner(System.in);
String name, username;
int age;
boolean good = false;
System.out.print("What's your name? ");
name = reader.nextLine();
String[] name1 = name.split("");
do
{
System.out.print("Sorry, your \"name\" has characters that aren't letters in it. Please enter a real name. ");
name = reader.nextLine();
String[] name2 = name.split("");
for (int i = 0; i < name.length(); i++)
{
if(!Character.isLetter(name.charAt(i)))
{
good = false;
}
else
{
good = true;
}
}
}
while(good != true);
ここでいくつかの異なる質問を見て、それらの質問/回答からいくつかの情報を引き出して、プログラムに実装しようとしましたが、明らかに何かがうまくいきませんでした. キャッチすることもあれば、キャッチしないこともありますが、何が間違っていますか?のようなものMan99
を入力すると、新しい名前を入力するプロンプトが表示されます。ただし、次のように入力してkhewriuhweiuf8489358934589734985345hiewf
もアクティブになりません。
未使用の変数は無視してください。それらはプログラムの後半で使用されますが、私が投稿したものには影響しません。