How to read such input in Java? -
How to read such input in Java? -
i have input:
an b c a1 a2 a3 ...
for example:
4 3 2 2 1 2 1 (i have here 'a' numbers, = 4) 5 6 3 3 9 5 7 3 (i have here 'a' numbers, = 5) 0 0 0
i want stop reading input when or b or c equal 0. tried this:
import java.io.bufferedreader; import java.io.ioexception; import java.io.inputstreamreader; import java.util.linkedlist; /* * alter template, take tools | templates * , open template in editor. */ public class test { public static void main(string[] args) throws ioexception { inputstreamreader converter = new inputstreamreader(system.in); bufferedreader in = new bufferedreader(converter); string line = ""; int = -1, b = -1, c = -1; linkedlist<integer> list = new linkedlist<>(); while (a != 0 && b != 0 && c != 0) { line = in.readline(); string tmp[] = line.split(" "); = integer.parseint(tmp[0]); b = integer.parseint(tmp[1]); c = integer.parseint(tmp[2]); system.out.println("a = " + + ", b = " + b + ", c = " + c); line = in.readline(); list.clear(); tmp = line.split(" "); (int = 0; < tmp.length; i++) { list.add(new integer(integer.valueof(tmp[i]))); } system.out.println("list = 4 3 2" + list); } } }
but simple input:
4 3 2 2 1 2 1 5 6 3 3 9 5 7 3 0 0 0
even if type 3 zeros, programme still waits input. how improve it?
edit:
guy misunderstood. need have sec readline cause need read sec (fourth, sixth) line of input ...
while (true) { line = in.readline(); string tmp[] = line.split(" "); = integer.parseint(tmp[0]); b = integer.parseint(tmp[1]); c = integer.parseint(tmp[2]); if (a == 0 || b == 0 || c == 0) { break; } system.out.println("a = " + + ", b = " + b + ", c = " + c); line = in.readline(); list.clear(); tmp = line.split(" "); (int = 0; < tmp.length; i++) { list.add(new integer(integer.valueof(tmp[i]))); } system.out.println("list = 4 3 2" + list); }
java input inputstream user-input
Comments
Post a Comment