2014-11-21 2 views
0

Мой первый пост здесь, в stackoverflow. Задача: Напишите метод, который должен возвращать String, метод не имеет параметров. Метод будет читать некоторые слова с клавиатуры. Входы заканчивается словом «END» метод должен возвращать весь этот текст как длинный ряд:Java, возвращающий введенный текст

"HI" "HELLO" "HOW" "END" 

сделать это, так что метод возвращает строку

HIHELLOHOW 

Мой код:

import java.util.*; 
public class Upg13_IS_IT_tenta { 
    String x, y, c, v; 
    public String text(){ 
     System.out.println("Enter your first letter"); 
     Scanner sc = new Scanner(System.in); //Can you even make this outside main? 
     x = sc.next(); 
     y = sc.next(); 
     c = sc.next(); 
     v = sc.next(); // Here I assign every word with a variable which i later will return. (at the    bottom //i write return x + y + c;). This is so that i get the string "HIHELLOWHOW" 

     sc.next(); 
     sc.next(); 
     sc.next(); 
     sc.next(); // Here I want to return all the input text as a long row 

     return x + y + c; 
    } 
} 

Я знаю, что мой код имеет много ошибок в нем, я новичок в Java поэтому я хотел бы так помочь и объяснить, что я вы сделали неправильно. БЛАГОДАРЯ!

ответ

0

вы можете сделать что-то вроде этого:

 public String text(){ 

     InputStreamReader iReader = new InputStreamReader(System.in); 
     BufferedReader bReader = new BufferedReader(iReader); 

     String line = ""; 
     String outputString = ""; 
     while ((line = bReader.readLine()) != null) { 
      outputString += line; 
     } 

     return outputString; 
     } 
0

Возможно, вы хотите что-то вроде

public String text() { 
    String input; 
    String output = ""; 
    Scanner sc = new Scanner(System.in); 
    input = sc.next(); 
    while (! input.equals("END")) { 
     output = output + input; 
     input = sc.next(); 
    } 
    return output; 
} 
0

То, что вы сделали в настоящее время является построить программу, которая может обрабатывать только один конкретный вход. Вы можете стремиться к чему-то более многоразовому:

public String text(){ 
     System.out.println("Talk to me:"); 
     Scanner sc = new Scanner(System.in); 
     StringBuilder text = new StringBuilder(); 

     while(!text.toString().endsWith("END")) 
     { 
      text.append(sc.next()); 
     } 

     return text.toString().substring(0, text.toString().length()-3); 
    } 

Это создает единую Строки из вашего входа, останавливается, когда строка заканчивается на «END» и возвращает строку без последних 3-х букв (» КОНЕЦ").

Смежные вопросы