Domanda

Il mio insegnante mi ha dato questa domanda:

Scrivi un programma che fa il seguente:

  • Inserisci il tuo nome: Peter
  • Inserisci il tuo cognome: Opunga
  • Inserisci il tuo anno di nascita: 1992
  • Ciao Peter Opunga, si sarà di 20 entro la fine di quest'anno.
  • Bonus 1: Una corretta commentando. (10%)
  • Bonus 2: Creare solo 2 stringhe in tutto il programma. (10%)
  • Bonus 3: Utilizzo esattamente 4 System.out.print. (10%)

Ora sono completamente nuovo a Java. Mi è stato appena introdotto per un po 'più di una settimana fa, e questo è ciò che mi si avvicinò con:

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");

sono riuscito a completa Bonus 1 e 3, ma non riesco a capire il Bonus 2. Aiuto per favore! Post scriptum Ha detto che posso ottenere aiuto finché io non cerco di farlo passare come la mia idea.

È stato utile?

Soluzione

È possibile utilizzare una stringa per ottenere il nome completo e l'altro per l'anno .. si può fare in questo modo

    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

Altri suggerimenti

È possibile riutilizzare le stringhe, in modo String last = in.readLine(); può essere sostituirli con first = in.readLine ();

Ora, se avete solo bisogno di una stringa da leggere in da, e solo bisogno di una stringa per la risposta ... si dovrebbe essere in grado di capire da lì come utilizzare solo due stringhe

( http://docs.oracle.com/javase/ tutorial / java / dati / strings.html )

EDIT:. Spiacenti ho pensato che si stava utilizzando la classe java.util.Scanner in modo quanto segue non sarà di aiuto a meno che non ci si sente come il passaggio a che, invece

Quanto segue è stato scritto sotto l'ipotesi che si stava utilizzando:

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

Post precedente:

Penso che si sta cercando il metodo in.nextInt(); invece di parsing di una stringa restituito per anno di nascita.

Anche essere consapevoli Scanner ha modo più funzionalità come ad esempio la scansione per modelli (RegEx) e creazione di token di input stringa.

In futuro si consiglia di utilizzare un IDE come Netbeans che permette di sfogliare velocemente i possibili metodi di una classe con il completamento automatico. Se si è permesso di fare in modo che sia.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top