2015-04-14 2 views
0

l1 и l2 - это массивы, которые я вводил. Я хочу объединить l1 и l2 в l3 и отсортировать их в порядке возрастания. Когда я попытался добавить l1 и l2 в l3, я получаю синтаксическую ошибку: «Левая часть задания должна быть переменной».ArrayList.add не работает

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) + " "); 
      } 

    }  
} 

ответ

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++]); 
    } 
} 
0

Вы пытаетесь сделать метод .add() в то же время, что и присвоение его другой переменной. Это не работает. Вам следует придерживаться только:

l3.add(a++); 
Смежные вопросы