Я пытаюсь заполнить ArrayList объектами, которые содержат целые числа и преобразовать их в массив объектов, где оттуда я могу определить наивысшее целочисленное значение в моем массиве Объекты. Но по какой-то причине к тому времени, когда я достиг точки, где я могу сравнивать значения с eachother, я потерял половину своего массива ArrayList или Array of Objects.Я пытаюсь заполнить ArrayList объектами
import java.util.Scanner;
import java.util.ArrayList;
import java.util.Collections;
public class Exercise11_04
{
public static void main(String [] args)
{
System.out.println("Enter a sequence of integers ending in 0: \n");
Scanner input = new Scanner(System.in);
ArrayList<Integer> intList = new ArrayList<Integer>();
while(input.nextInt() != 0)
{
intList.add(new Integer(input.nextInt()));
}//end filler loop
System.out.println(max(intList));
arrayContents(intList);
}
public static Integer max(ArrayList<Integer> list)
{
int maxIntIndex = 0;
Integer[] integers = new Integer[list.size()];
integers = list.toArray(integers);
for(int index = 0; index < integers.length; index++)
{
if(integers[index].getValue() >= integers[maxIntIndex].getValue() )
{
maxIntIndex = index;
}
}
return integers[maxIntIndex];
}
class Integer
{
private int integer;
Integer() {this(0);}
Integer(int integer) {this.integer = integer;}
public int getValue() {return this.integer;}
public String toString()
{
return "The max value is: " + getValue();
}//
}//end
Я попытался проверить, чтобы увидеть значения массива с помощью этого метода
public static void arrayContents(ArrayList<Integer> list)
{
Integer[] integers = new Integer[list.size()];
integers = list.toArray(integers);
for(int index = 0; index < integers.length; index++)
{
System.out.println("The index is: " + index + " .The value is: " + integers[index].getValue());
}
}
Вы пробовали использовать отладчик? – Jens
- это ваш код, компилирующий доступ к нестационарному классу из статического метода? Неясно, что вы имеете в виду потерянной половиной моего списка или массива? – SMA