2017-03-26 7 views
2

Javaプログラムに問題があります。私はコンソール(CMD)でプログラムを実行しています。コンソールの入力後に次の行に移動しないようにします

私が入力した後、コンソールは同じ行にとどまります(現在は自動的に次の行に行きます)。

これは私の現在のプログラムです:

int data[]; 
Scanner in = new Scanner(System.in); 
data = new int[10]; 
System.out.println("Please Insert Numbers : "); 
for(int i=0;i<5;i++) 
    { 
    data[i] = in.nextInt(); 
    System.out.print("/t"); 
    } 

私が代わりに次に行くの行の先頭に戻ることができますどのように?

+1

私はそれが何をすべきか、あなたの質問から非常に明確ではありませんよう、あなたが、より具体的にする必要があると思います。 – techprat

+0

[Javaのコンソールからの入力を正しく読み取ることで不具合があります](http://stackoverflow.com/questions/36274469/having-diffuculty-with-correctly-reading-inputs-from-console-in-java) – techprat

+0

dataArray []やdataList []のような配列の命名規則に従ってください。 – abcOfJavaAndCPP

答えて

0
Scanner in = new Scanner(System.in); 
System.out.println("Please Insert Numbers Separated By Comma: "); 
String input = in.nextLine(); 
input = input.replaceAll("\\s",""); //remove whitespaces 
String[] numbers= input.split(","); //build string array using ',' as delimiter between numbers 
int data[]= Arrays.asList(numbers).stream().mapToInt(Integer::parseInt).toArray(); //Available since Java8 
0

オスカーマルティネスは、文字列をintに変換できる場合(intに文字列を解析する前に、私は確認してくださいあなたが空白で区切られた数字の文字列を読んで、この例のように、あなたの整数配列を構築することができ、言ったかのように)regexを使用していない:

import java.util.Arrays; 
import java.util.Scanner; 


public class Main { 

    public static void main(String[] args){ 
     int data[]; 
     Scanner in = new Scanner(System.in); 
     data = new int[10]; 
     System.out.println("Please Insert Numbers : "); 
     String line = in.nextLine(); 
     String[] stringsNumber = line.split("\\s"); 
     for(int i=0;i<stringsNumber.length;i++){ 
      if(stringsNumber[i].matches("^\\d+$") && i<10){// \\d is a regex to verify if s is a number 

       data[i]= Integer.parseInt(stringsNumber[i]); 

      } 

     } 
     System.out.println(Arrays.toString(data)); 
    } 
} 
関連する問題