如何读取这些行中的每一行并将它们写入java中的两个不同对象。我正在使用Scanner作为第一个线块。我没有尝试过第二个街区
6 6
3 5 5 3
4 6 6 4
2 8 2
6 6
Busayo 2
Ojo 5
Ajala 6
Gulliver 100
Antonio 3
Trump 4
这就是我提出的
public class mainControl {
private Position position;
public static void main(String[] args) {
// TODO Write the functionalities to read data in
int row = 1;
Scanner sc = new Scanner(System.in);
sc.useDelimiter("\n");
while (sc.hasNext()) {
String value = sc.next();
Position pos = new Position(value);
//System.out.println();
System.out.println(pos);
}
}
输出:
row: 6 6
row:
row: 3 5 5 3
row:
row: 4 6 6 4
row:
row: 2 8 2
row:
我如何删除扫描程序从std中读取的额外换行符?
谢谢。
谢谢大家,我发现数字块之间的空格不是必需的,所以我删除了它们,找到了分别阅读两个块的方法。我想有更好的方法可以做到这一点,但这就是我现在所拥有的。
public class mainControl {
private static List<Position> layoutArray = new ArrayList<Position>();
private static List<Order> orderArray = new ArrayList<Order>();
private static Layout layout = new Layout();
public static void main(String[] args) throws IOException {
// TODO Write the functionalities to read data in
Scanner sc = new Scanner(System.in);
int row = 1;
while(sc.hasNextInt()) {
String[] line = sc.nextLine().split(" ");
for (int i =0; i < line.length; i++) {
Position pos = new Position(row, i+1, Integer.parseInt(line[i]));
layoutArray.add(pos);
layout.addCapacity(Integer.parseInt(line[i]));
//System.out.println(pos);
}
row++;
}
System.out.println();
while(sc.hasNextLine()) {
String[] str = sc.nextLine().split(" ");
if(str.length > 1) {
Order order = new Order(str[0], Integer.parseInt(str[1]));
orderArray.add(order);
//System.out.println(order);
}
}
sc.close();