我的老师给了我这个问题:
编写执行以下操作的程序:
- 输入您的名字: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.请帮助! 附:他说我可以得到帮助,只要我不试图把它作为我自己的想法。
答案 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 允许您快速浏览类的可能方法 自动完成。如果你被允许这样做的话。