【发布时间】:2020-10-04 02:01:07
【问题描述】:
我是 Java 初学者。我想从用户那里得到一个二维数组的输入,然后转换成一个对象列表。
-
当我对数据进行硬编码时,可以这样完成
class Job // Job Class { public int taskID, deadline, profit; public Job(int taskID, int deadline, int profit) { this.taskID = taskID; this.deadline = deadline; this.profit = profit; } } public class JobSequencing{ public static void main(String[] args) { // List of given jobs. Each job has an identifier, a deadline and profit associated with it List<Job> jobs = Arrays.asList( new Job(1, 9, 15), new Job(2, 2, 2), new Job(3, 5, 18), new Job(4, 7, 1), new Job(5, 4, 25), new Job(6, 2, 20), new Job(7, 5, 8), new Job(8, 7, 10), new Job(9, 4, 12), new Job(10, 3, 5) ); }
但是,我想从用户输入中获取这个对象数组。当我打算这样做时,它给了我一个错误。
-
代码:
Scanner scan = new Scanner(System.in); int count = scan.nextInt(); int[][] arr = new int[count][3]; for(int i =0; i<count;i++){ String[] arrNums = scan.nextLine().split(" "); arr[i][0] = Integer.parseInt(arrNums[0]); arr[i][1] = Integer.parseInt(arrNums[1]); arr[i][2] = Integer.parseInt(arrNums[2]); } List<Job> jobs = Arrays.asList( for(int i=0 ; i< count ; i++){ new Job(arr[i][0], arr[i][1], arr[i][2]); } ); -
错误:
Syntax error, insert ")" to complete MethodInvocationJava(1610612976) Syntax error, insert ";" to complete LocalVariableDeclarationStatementJava(1610612976)
你能给我一个解决方案,从用户输入的二维数组中将对象作为列表添加吗?
【问题讨论】:
-
您希望这能做什么?
List<Job> jobs = Arrays.asList( for(int i=0 ; i< count ; i++){ new Job(arr[i][0], arr[i][1], arr[i][2]); } );不能在方法调用中放置 for 循环 -
我想把二维数组转成List。
-
看起来你应该首先创建一个
ArrayList,然后根据需要在for循环中添加Job对象,在构造函数之外或任何其他方法
标签: java arraylist multidimensional-array