在读取姓名、年龄和身高的 Java 赋值中苦苦挣扎



我正在为类做一个Java作业。 非常基础,但刚刚开始学习编程。作业的主要内容是编写一个Java程序,该程序从控制台读取学生姓名,他/她的年龄和他/她的身高(以英尺为单位(,并在一行上打印出与学生相关的所有数据。这就是我到目前为止所拥有的,但我遇到了一些错误。

import java.util.Scanner;
public class assignment1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
String Name = Mike;
int age = 21;
double height = 5.9;
Scanner inReader = new Scanner(System.in);
System.out.println("Mike");
Name = inReader.nextLine("Mike");
System.out.print("21");
age = inReader.nextInt("21");
System.out.println("5.9");
height = inReader.nextDouble ("5.9");
System.out.println ("Mike" + "21" + "5.9");
}
}

你在几个方面偏离了轨道。

  1. inReader.nextLine("Mike");应该是inReader.nextLine();.在这种情况下,您不能在这些括号之间放置某些内容。

  2. String Name = Mike; int age = 21;double height = 5.9;只需要声明。您希望在控制台中输入数据,而不是代码本身。String Name; int age = 0;double height = 0;

  3. System.out.println("Mike");不是您放置输入的地方。相反,它是您放置发送给用户的提示的地方。您希望在那里询问用户输入。

  4. 要打印字符串中的变量,您需要将变量名称放在字符串中,如下所示:System.out.println (height);

完整的工作代码如下,但我鼓励您尝试并理解它是如何工作的。请随时在下面的评论中提出任何问题。

public static void main(String[] args) {
// TODO Auto-generated method stub
String Name;
int age = 0;
double height = 0;
Scanner inReader = new Scanner(System.in);
System.out.println("What is their name?");
Name = inReader.nextLine();
System.out.println("What is their age?");
age = inReader.nextInt();
System.out.println("What is their height?");
height = inReader.nextDouble ();
System.out.println (Name + " " + age + " " + "  " + height);
}

这里有第一个解决方案,给你一个起点:

public static void main(String[] args) {
String name ;
int age ;
double height;
Scanner inReader = new Scanner(System.in);
System.out.println("Enter name:");
name = inReader.nextLine();
System.out.println("Enter age:");
age = inReader.nextInt();
System.out.println("Enter height");
height = inReader.nextDouble();
System.out.println ("name: " + name + ", age: " +age + ", height: " + height);
}

只要您输入有效的输入,上面的代码就会起作用。试试吧。然后输入无效的内容(例如年龄的字符(

最新更新