Java代码实现抽奖:从班级的学号中抽出一个一等奖,两个二等奖,三个三等奖抽取问题, 重点是 同一个学号不能重复被抽取.
解决办法很多,
比如数组可以使用下标来标记,号码是否被使用,使用了就继续下一次抽取
也可以使用集合来抽取,把集合顺序打乱,然后随便抽几个就可以了
参考代码:数组法
import java.util.Random;
public class Test {
public static void main(String[] args) {
int stuNums=30;
int[] nums=new int[stuNums];//存储学号的数组
boolean[] flags=new boolean[stuNums];//标记,用于标记对应下标的学号是否已经被抽取过了
for (int i = 0; istuNums; i) {
nums[i]=i 1;//给学号赋值
}
Random r=new Random();
while(true){
int index = r.nextInt(stuNums);
if(!flags[index]){
System.out.println("A等:" nums[index]);
flags[index]=true; //标记已经被使用过了
break;
}
}
for (int i = 0; i2; i) {
int index = r.nextInt(stuNums);
if(!flags[index]){
System.out.println("B等:" nums[index]);
flags[index]=true;
}else{
i--;//如果已经被抽取过了 ,那么i建议,再次循环
}
}
for (int i = 0; i3; i) {
int index = r.nextInt(stuNums);
if(!flags[index]){
System.out.println("c等:" nums[index]);
flags[index]=true;
}else{
i--;
}
}
}
}
集合法
import java.util.ArrayList;
import java.util.Collections;
public class Test2 {
public static void main(String[] args) {
int stuNums=20;
ArrayListInteger list=new ArrayListInteger();
for (int i = 0; istuNums; i) {
list.add(i 1);
}
System.out.println("有序" list);
Collections.shuffle(list);//打乱顺序
System.out.println("乱序" list);
System.out.println("A等" list.get(0));
System.out.println("B等" list.get(1));
System.out.println("B等" list.get(2));
System.out.println("C等" list.get(3));
System.out.println("C等" list.get(4));
System.out.println("C等" list.get(5));
}
}
java输出学生学号,姓名,成绩public class Student {
private int kemu1, kemu2, kemu3, kemu4, kemu5;
public int getKemu1() {
return kemu1;
}
public void setKemu1(int kemu1) {
this.kemu1 = kemu1;
}
public int getKemu2() {
return kemu2;
}
public void setKemu2(int kemu2) {
this.kemu2 = kemu2;
}
public int getKemu3() {
return kemu3;
}
public void setKemu3(int kemu3) {
this.kemu3 = kemu3;
}
public int getKemu4() {
return kemu4;
}
public void setKemu4(int kemu4) {
this.kemu4 = kemu4;
}
public int getKemu5() {
return kemu5;
}
public void setKemu5(int kemu5) {
this.kemu5 = kemu5;
}
}
上边的是Student类
import java.util.ArrayList;
import java.util.Random;
public class Test {
public static void main(String[] args) {
ArrayListStudent list = new ArrayListStudent();
// 初始化成绩
for (int n = 0; n20; n) {
Student st = new Student();
st.setKemu1(new Random().nextInt(100));
st.setKemu2(new Random().nextInt(100));
st.setKemu3(new Random().nextInt(100));
st.setKemu4(new Random().nextInt(100));
st.setKemu5(new Random().nextInt(100));
list.add(st);
}
// 计算平均成绩
int avg = 0;
for (int n = 0; n20; n) {
avg= list.get(n).getKemu1();
avg= list.get(n).getKemu2();
avg= list.get(n).getKemu3();
avg= list.get(n).getKemu4();
avg= list.get(n).getKemu5();
}
double avg2 = avg / 20;
System.out.println("全班平均成绩"avg2);
// 计算谁得奖
for (int n = 0; n20; n) {
double avg3;
int avg4 = 0;
avg4= list.get(n).getKemu1();
avg4= list.get(n).getKemu2();
avg4= list.get(n).getKemu3();
avg4= list.get(n).getKemu4();
avg4= list.get(n).getKemu5();
avg3 = avg4;
System.out.println((n1)"成绩为"avg3);
if (avg3(avg2 * 1.2)) {
System.out.println((n1)"该生获得1等将");
}
if (avg3(avg2 * 1.1)) {
System.out.println((n1)"该生获得2等将");
【奖学金java代码 java奖学金管理系统】}
}
}
}
好了 可以了
ArrayList是动态数组
显示奖学金的JSP页面为list_jxj.jsp,调用它查询奖学金类别 。但总提示:while(rs.next())出错 。求帮助我觉得你这里问题是 你还没有拿到数据呢 就把数据库连接给关掉了 。
你代码不要这样写嘛 等到数据取出来以后再关 。最后是把 数据取出来放到一个 ArrayListJxj里 。定义一个jxj 的类 然后 在后台把值取出来 给这个类设定值 。后放入 list 里面
然后页面从list里取数据 。
再试试了!应该就可以了
java程序设计一共五个类
首先奖学金java代码 , 人物类,person,Teacher类和CollegeStudent类继承之 。
其次,动作类pay接口,person可以不实现 , 因为他是抽象类 , Teacher类和CollegeStudent类要implements这个接口
最后是测试类
下面是代码
person类:
public abstract class Person implements Pay{}
Teacher类:
public class Teacher extends Person {
public void pay() {
System.out.println("基本工资 授课时数*30");
}
}
CollegeStudent类:
public class CollegeStudent extends Person {
public void pay() {
System.out.println("奖学金支出");
}
}
pay接口:
public interface Pay {
public void pay();
}
测试类:
public class Test {
public static void main(String[] args) {
Person teacher=new Teacher();//左父右子
Person collegeStudent=new CollegeStudent();//左父右子
teacher.pay();//调用奖学金java代码的还是person类型 , 由于是动态绑定,所以多态成老师的方法
collegeStudent.pay();// 和上面 类似
}
}
关于奖学金java代码和java奖学金管理系统的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。
推荐阅读
- fast有线路由器怎么设置,fast无线路由器设置步骤
- 公众号怎么跟客服对话,如何与公众号客服聊天
- 视频直播台球技巧,直播台球的app有哪些?
- vb.net复制窗口图像 vbs 复制
- 怎么样手机控制网络电脑,怎么样手机控制网络电脑连接
- 免费虚拟主机免费空间,免费的虚拟主机空间
- 平果手机怎么安装迅雷,平果手机怎么安装迅雷app
- c语言函数的实参类型 c语言中实参的类型
- mysql搜索限制语句,mysql限制查询的行数