JAVA,面向对象设计一个投票程序
时间: 2023-06-01 14:03:05 浏览: 87
下面是一个简单的JAVA面向对象的投票程序设计:
1. 首先,我们需要一个投票选项的类:
```java
public class Option {
private String name;
private int votes;
public Option(String name) {
this.name = name;
this.votes = 0;
}
public String getName() {
return name;
}
public int getVotes() {
return votes;
}
public void vote() {
votes++;
}
}
```
这个类包含一个选项名称和一个投票计数器,还有一个投票方法用于增加投票计数器。
2. 接下来,我们需要一个投票活动的类:
```java
import java.util.ArrayList;
public class Voting {
private String title;
private ArrayList<Option> options;
public Voting(String title) {
this.title = title;
this.options = new ArrayList<Option>();
}
public String getTitle() {
return title;
}
public ArrayList<Option> getOptions() {
return options;
}
public void addOption(String name) {
options.add(new Option(name));
}
public void vote(int index) {
options.get(index).vote();
}
}
```
这个类包含一个投票活动的标题和一个选项列表。我们可以添加选项并对选项进行投票。
3. 最后,我们可以创建一个投票程序:
```java
import java.util.Scanner;
public class VotingProgram {
public static void main(String[] args) {
Voting voting = new Voting("What is your favorite color?");
voting.addOption("Red");
voting.addOption("Green");
voting.addOption("Blue");
Scanner scanner = new Scanner(System.in);
System.out.println(voting.getTitle());
for (int i = 0; i < voting.getOptions().size(); i++) {
System.out.println((i + 1) + ". " + voting.getOptions().get(i).getName());
}
while (true) {
System.out.print("Enter your vote (1-" + voting.getOptions().size() + ", 0 to exit): ");
int vote = scanner.nextInt();
if (vote == 0) {
break;
}
if (vote < 1 || vote > voting.getOptions().size()) {
System.out.println("Invalid vote!");
} else {
voting.vote(vote - 1);
}
}
System.out.println("Results:");
for (Option option : voting.getOptions()) {
System.out.println(option.getName() + " - " + option.getVotes());
}
}
}
```
这个程序创建一个新的投票活动并添加三个选项。然后,它使用一个循环让用户输入他们的投票,直到他们输入0为止。最后,它显示投票结果。
这个程序只是一个简单的例子,可以根据需要进行修改和扩展。