2017-05-31 8 views
0

コードの下に文字列を入力したいが、関数nextLine()を使用せずにステートメント全体をステートメントで印刷します。そして私は既に代替キーワードnext()を試しています。それは最初の単語だけを表示し、スペースのためにそれは停止します。しかし、私は文全体を印刷する必要があります。nextLine()を使用する以外はjavaで文字列を入力する方法と文章/文章をスペースで間接的に印刷する

そんな場合、解決策は何でしょうか?あなたは、単にリストの内容を表示し、その後Scanner#nextからの入力を格納するためのアレイまたはリスト(好ましい)を使用するか

import java.util.Scanner; 

public class Solution { 

    public static void main(String[] args) { 
     Scanner scan = new Scanner(System.in); 

     int i = scan.nextInt(); 
     double d = scan.nextDouble(); 
     String s = scan.next(); 

     // Write your code here. 

     System.out.println("String: " + s); 
     System.out.println("Double: " + d); 
     System.out.println("Int: " + i); 
    } 
} 

答えて

0

Scanner scan = new Scanner(System.in); 
List<String> tempList = new ArrayList<>(); 

int i = scan.nextInt(); 
double d = scan.nextDouble(); 
String s = scan.next(); 

while(!s.equalsIgnoreCase("exit")){ 
     tempList.add(s); 
     s = scan.next(); 
} 

System.out.println("String: " + tempList.toString().replace("[","") 
     .replace("]","").replace(",","")); 
System.out.println("Double: " + d); 
System.out.println("Int: " + i); 
0

Scanner.next()方法を見つけて、次の完全なトークンを返します。

nextLine()および配列なしでは実行が困難です。しかし、これは私が配列とnextLine()なしでやることに疲れた。何とかループを終了するには値(この場合は-1を使用しました)を入力する必要があります。

public static void main(String[] args) { 
    Scanner scan = new Scanner(System.in); 

    int i = scan.nextInt(); 
    double d = scan.nextDouble(); 

    boolean flag = true; 
    String s=""; 

    System.out.println("enter -1 to exit"); 
    while(flag){ 
     s += scan.next() + " "; 
     if(s.contains("-1")){ 
      flag = false; 
     } 
    } 

    System.out.println("String: " + s.replace("-1", "")); 
    System.out.println("Double: " + d); 
    System.out.println("Int: " + i); 
} 
関連する問題