Как мне использовать только две строки в этой программе?
Вопрос
Мой учитель задал мне этот вопрос:
Напишите программу, которая выполняет следующее:
- Введите свое имя: Питер
- Введите свою фамилию: Opunga
- Введите свой год рождения: 1992
- Привет, Питер Опунга, тебе будет 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 Он сказал, что я могу получить помощь, пока я не пытаюсь передать ее как свою собственную идею.
Решение
Вы можете использовать одну строку, чтобы получить полное имя и одну на год .. вы можете сделать это таким образом
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
Другие советы
Вы можете повторно использовать струны, так что String last = in.readLine();
можно заменить на first = in.readLine ();
Теперь, если вам нужна только одна строка для чтения, и нужна только одна строка для ответа ... вы сможете выяснить оттуда, как использовать только две строки
(Намекать http://docs.oracle.com/javase/tutorial/java/data/strings.html)
РЕДАКТИРОВАТЬ: Извините, я подумал, что вы используете класс java.util.scanner, чтобы следующее не помогло, если вы вместо этого переключитесь на это.
Следующее было записано в соответствии с предположением, которое вы использовали:
java.util.Scanner in = new java.util.Scanner(System.in);
in.nextLine();
Предыдущий пост:
Я думаю, вы ищете
in.nextInt();
Метод вместо анализа возвращаемой строки на год рождения.Также знайте, что сканер имеет гораздо больше возможностей, таких как сканирование для шаблонов (Regex) и токенизирующий ввод строк.
В будущем вы можете использовать такой IDE Netbeans что позволяет быстро просматривать возможные методы класса с автоматическим полным. Если вам разрешено сделать это.