Как мне использовать только две строки в этой программе?

StackOverflow https://stackoverflow.com/questions/9322029

Вопрос

Мой учитель задал мне этот вопрос:

Напишите программу, которая выполняет следующее:

  • Введите свое имя: Питер
  • Введите свою фамилию: 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 что позволяет быстро просматривать возможные методы класса с автоматическим полным. Если вам разрешено сделать это.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top