我是编程的新手,我们今天在班上学习了ArrayLists,对你们来说我有一个简单的问题,我似乎无法在注释中找到关于将传递值设置为等于的内容。该练习程序的重点是引入一个Number对象(该类已经创建),并且ArrayList中的这些Numbers应该被视为几率,偶数和完美数。这是该程序的前几行,您只需要这些行。

import java.util.ArrayList;
import static java.lang.System.*;
public class NumberAnalyzer {

    private ArrayList<Number> list;

    public NumberAnalyzer() {
        list = new ArrayList<Number>();
    }

    public NumberAnalyzer(String numbers) {

    }

    public void setList(String numbers) {

    }


我应该在NumberAnalyzer()和setList()中将(字符串数字)设置为什么?在此先感谢您回答菜鸟问题!

    NumberAnalyzer test = new NumberAnalyzer("5 12 9 6 1 4 8 6");
    out.println(test);
    out.println("odd count = "+test.countOdds());
    out.println("even count = "+test.countEvens());
    out.println("perfect count = "+test.countPerfects()+"\n\n\n");


这是将运行程序的Lab16b类。 ^^

public class Number
{
private Integer number;
public Number()
{
    number = 0;
}
public Number(int num)
{
    number = num;
}
public void setNumber(int num)
{
    number = num;
}
public int getNumber()
{
    return 0;
}
public boolean isOdd()
{
    return number % 2 != 0;
}
public boolean isPerfect()
{
    int total=0;
    for(int i = 1; i < number; i++)
    {
        if(number % i == 0)
        {
            total = total + i;
        }
    }
    if(total == number)
    {
        return true;
    }
    else
    {
        return false;
    }
}
public String toString( )
{
    return "";
}
}


这是Number类。 ^^

最佳答案

根据您提供的信息,我觉得NumberAnalyzer应该是这样。 setList函数当前用于获取String并将其中的数字添加到新列表中。

public class NumberAnalyzer {

    private List<Number> list;

    public NumberAnalyzer() {
        this.list = new ArrayList<Number>();
    }

    public NumberAnalyzer(String numbers) {
        setList(numbers);
    }

    public void setList(String numbers) {
        String[] nums = numbers.split(" ");
        this.list = new ArrayList<Number>();
        for(String num: nums)
            list.add(new Number(Integer.parseInt(num)));
    }

}

10-04 21:03