Compare commits
No commits in common. "8737a64402f066a740f5de73b1d8dcc265b949a9" and "c34ef6f2c25bf641f4eefaf1a552eb4b737dd844" have entirely different histories.
8737a64402
...
c34ef6f2c2
@ -1,48 +0,0 @@
|
|||||||
package chapter3;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 静态属性示例:
|
|
||||||
* 改变一个对象的静态属性,所有同类的其他对象,其静态属性会同时改变
|
|
||||||
* 即静态属性被所有同类对象共享
|
|
||||||
* 通过 类名.静态属性名 可以访问该属性
|
|
||||||
*/
|
|
||||||
|
|
||||||
// Student 类
|
|
||||||
class Student14 {
|
|
||||||
String name;
|
|
||||||
int age;
|
|
||||||
static String school = "A大学";
|
|
||||||
public Student14(String name, int age) {
|
|
||||||
this.name = name;
|
|
||||||
this.age = age;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void info() {
|
|
||||||
System.out.println("姓名:" + this.name + ",年龄:" + this.age + ",学校:" + school);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// 为了安放 main 方法
|
|
||||||
public class Example14 {
|
|
||||||
public static void main(String[] args) {
|
|
||||||
Student14 stu1 = new Student14("张三", 18);
|
|
||||||
Student14 stu2 = new Student14("李四", 19);
|
|
||||||
Student14 stu3 = new Student14("王五", 20);
|
|
||||||
|
|
||||||
stu1.info();
|
|
||||||
stu2.info();
|
|
||||||
stu3.info();
|
|
||||||
|
|
||||||
stu1.school = "B大学";
|
|
||||||
stu1.info();
|
|
||||||
stu2.info();
|
|
||||||
stu3.info();
|
|
||||||
|
|
||||||
Student14.school = "C大学";
|
|
||||||
stu1.info();
|
|
||||||
stu2.info();
|
|
||||||
stu3.info();
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,16 +0,0 @@
|
|||||||
package chapter3.demo34;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Main类,程序的入口点
|
|
||||||
*/
|
|
||||||
public class Main {
|
|
||||||
/**
|
|
||||||
* 主方法
|
|
||||||
* @param args 命令行参数
|
|
||||||
*/
|
|
||||||
public static void main(String[] args) {
|
|
||||||
// 创建VotingSystem对象并开始投票
|
|
||||||
VotingSystem votingSystem = new VotingSystem();
|
|
||||||
votingSystem.startVoting();
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,95 +0,0 @@
|
|||||||
package chapter3.demo34;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Voter类代表一个投票者
|
|
||||||
*/
|
|
||||||
public class Voter {
|
|
||||||
// 最大投票人数
|
|
||||||
private static final int MAX_COUNT = 50;
|
|
||||||
// 当前投票人数
|
|
||||||
private static int count = 0;
|
|
||||||
// 存储所有投票者的数组
|
|
||||||
private static Voter[] voters = new Voter[MAX_COUNT];
|
|
||||||
|
|
||||||
// 投票者姓名
|
|
||||||
private String name;
|
|
||||||
// 投票意见(true表示赞同,false表示反对)
|
|
||||||
private boolean opinion;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 构造方法
|
|
||||||
* @param name 投票者姓名
|
|
||||||
*/
|
|
||||||
public Voter(String name) {
|
|
||||||
this.name = name;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 投票方法
|
|
||||||
* @param opinion 投票意见
|
|
||||||
*/
|
|
||||||
public void vote(boolean opinion) {
|
|
||||||
// 检查是否达到最大投票人数
|
|
||||||
if (count >= MAX_COUNT) {
|
|
||||||
System.out.println("投票已结束,已达到最大投票数。");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// 检查是否重复投票
|
|
||||||
if (hasVoted(this.name)) {
|
|
||||||
System.out.println(name + ",请勿重复投票。");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// 记录投票意见
|
|
||||||
this.opinion = opinion;
|
|
||||||
voters[count] = this;
|
|
||||||
count++;
|
|
||||||
System.out.println(name + ",感谢您的投票。");
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 检查指定姓名的人是否已经投票
|
|
||||||
* @param name 要检查的姓名
|
|
||||||
* @return 如果已投票返回true,否则返回false
|
|
||||||
*/
|
|
||||||
private static boolean hasVoted(String name) {
|
|
||||||
for (int i = 0; i < count; i++) {
|
|
||||||
if (voters[i].name.equals(name)) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 打印投票结果
|
|
||||||
*/
|
|
||||||
public static void printResults() {
|
|
||||||
System.out.println("===========投票结果===========");
|
|
||||||
System.out.println("总投票数:" + count);
|
|
||||||
int agreeCount = 0;
|
|
||||||
for (int i = 0; i < count; i++) {
|
|
||||||
System.out.println(voters[i].name + " 的意见:" + (voters[i].opinion ? "赞同" : "反对"));
|
|
||||||
if (voters[i].opinion) {
|
|
||||||
agreeCount++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
System.out.println("赞同人数:" + agreeCount);
|
|
||||||
System.out.println("反对人数:" + (count - agreeCount));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 获取投票者姓名
|
|
||||||
* @return 投票者姓名
|
|
||||||
*/
|
|
||||||
public String getName() {
|
|
||||||
return name;
|
|
||||||
}
|
|
||||||
|
|
||||||
// 静态初始化块,在类加载时执行
|
|
||||||
static {
|
|
||||||
System.out.println("Voter类已加载,准备开始投票。");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,44 +0,0 @@
|
|||||||
package chapter3.demo34;
|
|
||||||
|
|
||||||
import java.util.Scanner;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* VotingSystem类管理整个投票过程
|
|
||||||
*/
|
|
||||||
public class VotingSystem {
|
|
||||||
// 用于接收用户输入
|
|
||||||
private Scanner scanner;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 构造方法
|
|
||||||
*/
|
|
||||||
public VotingSystem() {
|
|
||||||
this.scanner = new Scanner(System.in);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 开始投票过程
|
|
||||||
*/
|
|
||||||
public void startVoting() {
|
|
||||||
while (true) {
|
|
||||||
// 输入投票者姓名
|
|
||||||
System.out.println("请输入您的姓名:");
|
|
||||||
String name = scanner.nextLine();
|
|
||||||
Voter voter = new Voter(name);
|
|
||||||
|
|
||||||
// 输入投票意见
|
|
||||||
System.out.println("请投票(Y表示赞同,N表示反对):");
|
|
||||||
String opinion = scanner.nextLine();
|
|
||||||
voter.vote(opinion.equalsIgnoreCase("Y"));
|
|
||||||
|
|
||||||
// 询问是否继续投票
|
|
||||||
System.out.println("是否继续投票?(Y/N)");
|
|
||||||
if (scanner.nextLine().equalsIgnoreCase("N")) {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// 打印投票结果
|
|
||||||
Voter.printResults();
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
x
Reference in New Issue
Block a user