2016-07-25 20 views
0

Ich bin in der Lage Eingaben in einer einzigen Zeile in einem Array unten durch den Code zu nehmen, aber ich will esTaking Eingänge in einzelnen Array in mehreren Zeilen (Testfälle)

3 // keinen Test BE-

Fälle

640 480 // neue Zeile

120 300 // neue Zeile

180 180 // neue Zeile

"3" die Fälle nicht von Test ist, müssen die sechs Nummern in einem einzigen gespeichert werden Das Array, wie soll ich es machen?

BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); 

    System.out.println("Enter Min Length:-"); 
    String lt = br.readLine();       //Ignore this 
    int length= Integer.parseInt(lt); 

    System.out.println("Enter Test Cases:-"); 
    String temp = br.readLine();      //test-case input 
    int testcases = Integer.parseInt(temp); 

    System.out.println("Enter the W and H"); 
    String array = br.readLine();      //this takes only input in single line 
    String No[] = array.trim().split("\\s+"); 
    int intarray[]= new int[testcases]; 

    for(int i =0;i<intarray.length;i++) 
     { 
     intarray[i]=Integer.parseInt(No[i]); 
     } 
    System.out.println(Arrays.toString(intarray)); 
+0

Sie kennen die gesamte Anzahl der Testfälle, überprüfen Sie die readline, bis gleich nicht von Testfall und den Rest ignorieren. – lsiva

+0

Ich bin es für einen Online-Wettbewerb zu lösen, ich kenne nicht die Anzahl der Testfälle, aus Gründen des Beispiels habe ich es einfach so gehalten, wie es in einem Beispiel-Abschnitt hatte –

Antwort

0

Sie mögen diese versuchen kann,

int testcases = Integer.parseInt(temp); 
int i=0; 
List<Integer> list = new ArrayList<Integer>(); 
while(i<=testcases) 
{ 
    System.out.println("Enter the W and H"); 
    String array = br.readLine(); //this takes only input in single line 
    String No[] = array.trim().split("\\s+"); 
    //int intarray[]= new int[testcases]; 

    for(int i =0;i<No.length;i++) 
    { 
    //intarray[i]=Integer.parseInt(No[i]); 
    list.add(Integer.parseInt(No[i])); 
    } 
    Integer[] intArray = list.toArray(new Integer[0]); 
    System.out.println(Arrays.toString(intarray)); 
    i++; 
} 
+0

Es wird nicht in einem einzigen Array gespeichert .. –

+0

Ich habe den obigen Code aktualisiert, versuchen Sie es – lsiva

+0

changes-int j = 0; j ++; for (String No1: No) {list.add (Integer.parseInt (No1));} done Vielen Dank, wenn Sie für Online-Wettbewerbe und alle schreiben –