私はJavaを初めて使いました。これは私の髪を裂かせることです。ご注意スキャナが正しく機能しているかどうかを確認するためにprintステートメントを追加しました。mainメソッドでユーザー入力がnullを返すのはなぜですか?
package dknowlton_program5;
import java.util.Scanner;
//Driver ~ Gathers Input
public class DKnowlton_MartianMaker {
static Scanner userInput = new Scanner(System.in);
public static String name;
public static int eyes, arms;
public static void main(String[] String)
{
printWelcome();
getName();
getEyes();
getArms();
System.out.print("Your martian " + name + " has... ");
}
public static void printWelcome()
{
System.out.print("Welcome to the Martian Program Revamped!");
}
public static String getName()
{
System.out.print("\nWhat would you like to name your martian? ");
String name = userInput.nextLine();
System.out.println(name);
return name;
}
public static int getEyes()
{
System.out.print("How many eyes does your martian have? ");
int eyes = userInput.nextInt();
return eyes;
}
public static int getArms()
{
System.out.print("How many arms does your martian have? ");
int arms = userInput.nextInt();
return arms;
}
}
あなたは、変数に戻り値のいずれかを割り当てていません。 **メインメソッド内** ** –
たとえば、 'name = getName();' –
メソッド内で同じ名前の変数を使用しているのではないかもしれませんが、メソッドで宣言された変数は** local * *変数とメソッド内でのみ表示されます。それらを変更すると、上に宣言したクラスフィールドには影響しません。これはJavaの本の最初の章または2章でよく説明されています。 –