2

我的老师给了我这个问题:

编写一个执行以下操作的程序:

  • 输入您的名字:彼得
  • 输入您的姓氏:Opunga
  • 请输入您的出生年份:1992
  • 嗨,Peter Opunga,今年年底您将满 20 岁。
  • 奖励1:适当的评论。(10%)
  • 奖励 2:在整个程序中只创建 2 个字符串。(10%)
  • 奖励 3:正好使用 4 个 System.out.print。(10%)

现在我对 Java 完全陌生。一个多星期前我刚刚被介绍给它,这就是我想出的:

import java.io.*;

public class A1Chuah {

    public static void main(String[] args) throws IOException {

        BufferedReader in = new BufferedReader (new InputStreamReader (System.in));

        //Prints instructions for user to enter first name.
        System.out.println("Enter first name: ");
        //Obtains user input for first name.
        String first = in.readLine ();
        //Prints instructions for user to enter last name.
        System.out.print ("Enter last name: ");
        //Obtains user input for last name.
        String last = in.readLine();
        //Prints instructions for user to enter birth year.
        System.out.print ("Enter your birth year: ");
        //Obtains user input for birth year.
        String year = in.readLine ();
        //Converts String year to int useryr
        int useryr = Integer.parseInt(year);
        //Sets int oriyr to value of 2012
        int oriyr = 2012;
        //Sets int outyr as oriyr - useryr
        int outyr = oriyr - useryr;
        //Prints out information.
        System.out.println("Hi" + " " + " " + last + "," + " " + "you will be" +  " " + outyr + " " + "by the end of this year");

我已经设法完成了奖金 1 和 3,但似乎无法弄清楚奖金 2。请帮助!PS 他说我可以得到帮助,只要我不试图把它当作我自己的想法来传递。

4

3 回答 3

4

您可以使用一个字符串来获取全名和一个年份。您可以这样做

    System.out.println("Enter first name: ");

    String name = in.readLine();

    System.out.print ("Enter last name: ");

    name+= " " + in.readLine();

    System.out.println(name); // should print first and last
于 2012-02-17T02:31:16.023 回答
0

您可以重用字符串,因此String last = in.readLine();可以替换为first = in.readLine ();

现在,如果你只需要一个字符串来读取,并且只需要一个字符串来回答......你应该能够从那里弄清楚如何只使用两个字符串

(提示http://docs.oracle.com/javase/tutorial/java/data/strings.html

于 2012-02-17T02:22:14.653 回答
0

编辑:抱歉,我以为您使用的是 java.util.Scanner 类,因此除非您想改用该类,否则以下内容将无济于事。

以下是在您使用的假设下编写的:

java.util.Scanner in = new java.util.Scanner(System.in);
in.nextLine();

上一篇:

我认为您正在寻找该in.nextInt();方法,而不是解析返回的出生年份的字符串。

另请注意,Scanner 具有更多功能,例如扫描模式 (RegEx) 和标记字符串输入。

将来您可能希望使用像Netbeans这样的 IDE ,它允许您快速浏览具有自动完成功能的类的可能方法。如果你被允许这样做,那就是。

于 2012-02-17T02:25:49.160 回答