【发布时间】:2016-10-12 11:04:37
【问题描述】:
我是 Java 新手,这让我大吃一惊。请注意,我添加了一条打印语句以确保 Scanner 正常工作。
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(); -
您可能会感到困惑,因为您在方法中使用了同名变量,但在方法中声明的变量是本地变量,并且仅在方法中可见.更改它们不会影响您在顶部声明的类字段。这在大多数 Java 入门书籍的前一章或两章中都有很好的解释。
-
@HovercraftFullOfEels 当我添加返回值并运行程序时,它会重复 getName() 方法,然后在 main 方法中打印出没有空格的打印语句。但是,现在 null 被替换为空格而不是用户输入变量。请帮忙!
标签: java class variables methods null