日期:2014-05-20  浏览次数:20818 次

无法顺利将数据存入ArrayList数组中
package Work_6_Programing;

import java.util.ArrayList;
import java.util.Scanner;

public class TestCandidate {
/** 两个ArrayList数组用来存储数据*/
private static ArrayList<Candidate> list=new ArrayList<Candidate>();
private static ArrayList<Vote> list2=new ArrayList<Vote>();

public static void main(String[] args) {

System.out.println("欢迎来到投票系统!");
menu();
}
/** 主方法  */
public static void menu(){
System.out.println("1.用户添加    2.用户投票     3.用户查询        0.退出");
System.out.println("请选择");
Scanner c =  new Scanner(System.in);
int n = c.nextInt();
switch (n)
{
case 0:
System.exit(0);
case 1:
creatman();
menu();
case 2:
toVote();
menu();
case 3:
outdata();
menu();
default:
System.out.println("输入错误");
menu();
}

}
/** 创建候选人 */
public static void creatman(){
System.out.println("请输入候选人的名字: ");
Scanner c = new Scanner(System.in);
if(check(c.next())){
Vote v = new Vote();//创建一个新的Vote对象
Candidate li = new Candidate(c.next(), v);//创建一个新的Candidate对象
list.add(li);
list2.add(v);
menu();
}else{
System.out.println("投票人已存在");
menu();
}
}
/** 确认是否已存在 */
public static boolean check(String name){
if(list.size() == 0){
return true;
}
for(int i = 0; i < list.size(); i++){
Candidate li = new Candidate();
System.out.println("asd");
li = list.get(i);
if(li.getName().equals(name)){
return true;
}
}
return false;
}
/** 输出 */
public static void outdata(){
System.out.println("总参加人数有: " + list.size());
for(int i = 0; i < list.size(); i++){
Candidate li = new Candidate();
li = list.get(i);
Vote vo = new Vote();
vo = list2.get(i);
System.out.println(li.getName() + " 的票为   " + vo.getCount() );
}
menu();
}
/**投票开始*/
public static void toVote(){
for(int i = 0; i < list.size(); i++){
System.out.println("现在开始投票: ");
Candidate li = new Candidate();
li = list.get(i);
System.out.println("当前选手的名字是:  " + li.getName());
Vote vo = new Vote();
vo = list2.get(i);
System.out.println("请输入数字,1加一票,-1减一票,0为投票已结束");
while(true){
Scanner sin = new Scanner(System.in);
int in = sin.nextInt();
if(in == 1){
vo.increment();
}else if(in == -1){
vo.decrement();
}else if(in == 0){
break;
}
}
}
menu();
}

}

这个是主程序
下面两个是要用到的类
Vote类
package Work_6_Programing;
/**票数的统计*/
public class Vote {