如何在此程序中仅使用两个字符串?

时间:2012-02-17 02:17:45

标签: java string readline readlines

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

  

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

     
      
  • 输入您的名字:Peter
  •   
  • 输入您的姓氏:Opunga
  •   
  • 输入您的出生年份:1992
  •   
  • 嗨Peter Opunga,你到今年年底将会年满20岁。
  •   
  • 奖金1:正确评论。 (10%)
  •   
  • Bonus 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.请帮助! 附:他说我可以得到帮助,只要我不试图把它作为我自己的想法。

3 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

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

现在,如果您只需要一个字符串来读取,并且只需要一个字符串来表示答案......您应该能够从中找出如何仅使用两个字符串

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

答案 2 :(得分:0)

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

以下内容是根据您使用的假设编写的:

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

上一篇文章:

  

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

     

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

     

将来您可能希望使用类似Netbeans的IDE   允许您快速浏览类的可能方法   自动完成。如果你被允许这样做的话。