l1和l2是我输入的数组。我想将l1和l2合并为l3并按升序对它们进行排序。当我试图将l1和l2添加到l3时,我得到一个语法错误说明,"作业的左侧必须是变量"。
import java.util.ArrayList;
import java.util.Scanner;
public class Array {
public static void main(String[] args) {
String david;
String bert;
Scanner input = new Scanner(System.in);
System.out.println("Enter a list of integers: ");
bert = input.next();
System.out.println("Enter a second list of integers: ");
david = input.next();
String parts[] = bert.split(" ");
String parts2[] = david.split(" ");
int[] l1 = new int[parts.length];
for(int n = 0; n < parts.length; n++) {
l1[n] = Integer.parseInt(parts[n]);
}
int[] l2 = new int[parts2.length];
for(int n = 0; n < parts2.length; n++) {
l2[n] = Integer.parseInt(parts2[n]);
}
int w = 0;
int s = 0;
int a = 0;
ArrayList<Integer> l3 = new ArrayList <Integer> ();
while(w>s)
if (l1[w]<=l2[s])
l3.add(a++) = l1[w++];
else
l3.add(a++) = l2[s++];
while(w>s)
if (l1[w]<=l2[s])
l3.add(a++) = l1[w++];
else
l3.add(a++) = l2[s++];
while(w==s)
if (l1[w]<=l2[s])
l3.add(a++) = l1[w++];
else
l3.add(a++) = l2[s++];
for (int i = 0; i < l3.size(); i++) {
System.out.print(l3.add(i) + " ");
}
}
}
答案 0 :(得分:1)
ArrayList.add(int, E)
方法可以采用索引和值(也就是说,您无法将值分配给左侧add
或 的结果 - 作业的 - 手边必须是变量)。另外,请使用大括号。像
while (w > s) {
if (l1[w] <= l2[s]) {
l3.add(a++, l1[w++]);
} else {
l3.add(a++, l2[s++]);
}
}
答案 1 :(得分:0)
您正尝试在将其分配给另一个变量的同时执行.add()方法。这不起作用。你应该坚持:
l3.add(a++);