我正在为学校做这个并且有一个问题 null 返回这里是所有代码如果你需要测试它
这是主要的
import java.io.*;
import java.util.Scanner;
public class OddEvenTester
{
public static void main( String args[] ) throws IOException
{
//Make a Scanner to read in data from OddEven.dat
// while there is data
// read in a line
// make an OddEvenSets object
// print the object
Scanner in = new Scanner(new File("OddEven.dat"));
OddEvenSets a = new OddEvenSets();
while (in.hasNextLine())
{
String n = in.nextLine();
a.addString(n);
System.out.println (a);
}
}
}
这是方法
import java.util.Set;
import java.util.TreeSet;
import java.util.Arrays;
import java.util.ArrayList;
import java.util.Scanner;
public class OddEvenSets
{
private Set<Integer> odds;
private Set<Integer> evens;
private ArrayList<String> list;
public OddEvenSets()
{
list = new ArrayList<String>();
}
public OddEvenSets(String input)
{
list = new ArrayList<String>();
String[] words = "abc cde fgh ijk".split(" ");
ArrayList<String> list = new ArrayList<String>(Arrays.asList(words));
}
public void addString(String input)
{
list.clear();
String[] words = input.split(" ");
this.list.addAll(Arrays.asList(words));
}
public Set<String> getEvens()
{
Set<String> evens = new TreeSet<String>();
for (String a : list)
{
int x =Integer.parseInt(a);
if (x % 2==0)
{
String b = Integer.toString(x);
evens.add(b);
}
}
return evens;
}
public Set<String> getOdds()
{
Set<String> odds = new TreeSet<String>();
for (String a : list)
{
int x =Integer.parseInt(a);
if (x % 2==1)
{
String b = Integer.toString(x);
odds.add(a);
}
}
return odds;
}
public String toString()
{
return "ODDS : " + odds + "\nEVENS : " + evens + "\n\n";
}
}
这是dat文件
1 5 9 4 6 8 12
3 5 7 17 29 4 6 56 72
3 6 12 2 28 6
4 4 4 4 4 4 4 4
1 1 1 1 1 1 1 1
1 2 3 4 5 6 7 8 9
代码编译并运行但打印 null 所以我认为它没有被正确添加