明天要学一些高级的东西,讲javaweb,还有一些jsp的内容。
今天学了一个双色球系统。老师的代码已经放到博客了。要好好的理解最好自己自己再敲一遍
这些代码。
主要是体会老师的思路,虽然老师已经讲完了。我知道自己没有理解。现在要好好的敲一敲。
我们来看这个系统的步骤,一共有七个功能,注册-登陆-机选-自选-查看-开奖-退出系统。
我之前写过两个学生管理系统。
要掌握数组的用法。熟练掌握数组
简单的学生成绩程序
这是最后的结果:
import java.util.*;
public class A4{
public static void main(String[] args){
Scanner in=new Scanner(System.in);
System.out.println("请输入学生人数:");
int renshu=in.nextInt();//存储学生人数
System.out.println("请输入课程数目:");
int courseNum=in.nextInt();//存储课程数目
String[] name=new String[renshu];//声明一个变量String用来存储学
生姓名
String[] course=new String[courseNum];//声明一个变量String用来
存储课程名称
int[][] number=new int[renshu][courseNum];
int[] sum=new int[renshu];//声明一个变量int数组用来存储sum
int[] avg=new int[renshu];
String[] str=new String[renshu];
/*用来循环课程名称*/
for(int i=0;i<course.length;i++){
System.out.println("请定义第"+(i+1)+"门课程名字:");
course[i]=in.next();
}
/*用来录入学生课程成绩*/
for(int i=0;i<renshu;i++)
{
int S=0;
System.out.println("请输入第"+(i+1)+"学生姓名:");
name[i]=in.next();//用来存储学生姓名
String str11="";
for(int j=0;j<courseNum;j++){
System.out.println("请输入学生"+name[i]+course
[j]+"成绩");
number[i][j]=in.nextInt();//用来存储特定学生的
特定成绩
S+=number[i][j];//加总输入的学生成绩,+=是叠加。
str11+=number[i][j]+"\t";
}
sum[i]=S;//这是赋值成为总分
avg[i]=S/courseNum;
str[i]=name[i]+"\t"+str11+sum[i]+"\t"+avg[i];//
}
for(int i=0;i<str.length-1;i++){
for(int j=0;j<sum.length-1;j++){
if(sum[j]<sum[j+1]){
int t1=sum[j]; String t2=str[j];
sum[i]=sum[j+1]; str[j]=str[j+1];
sum[j+1]=t1; str[j+1]=t2;
}
}
}
/*效果输出*/
System.out.print("学生");
for(int i=0;i<course.length;i++){
System.out.print("\t"+course[i]);//输出课程名称
}
System.out.print("\t总分\t平均分\t排行榜");
System.out.println();
for(int i=0;i<renshu;i++){
System.out.println(str[i]+"\t第"+(i+1)+"名");
}
}
}
我们来分析思路,一步一步分析。我不想一步一步写代码了。这次主要看思路
1.让用户定义学生人数。renshu=in.nextInt()
2.让用户输入科目数目。courseNum=in.nextInt()
3.声明一个数组用来保存学生姓名。String[] name
数组的长度是学生renshu
4.声明一个数组用来存储科目名称 String[] course
长度是course
5.循环让用户输入科目名称。循环条件是i<courseNum
科目名称存到数组course[]
6.循环让用户输入学生姓名。循环条件是j<renshu
学生姓名存储到数组name[]
7.输入每个学生对应每科成绩,用嵌套循环实现。
大循环是6,小循环输入成绩,判断条件是i<courseNum
8.声明数组存储成绩
学生 经济学 操作系统 数据库 平均分 排行榜
似花非花人 90 45 45 60 第一名
壁虎老师 0 0 0 0 第二名
{90,45,45,60}这是一个数组,说明是用二维数组接收成绩。
定义二维数组,number=new int[renshu][course]比如90的位置是number[0][0]因为数组的
坐标是从0开始的。
number={{90,45,45},{0,0,0},{},......}
平均分和排行榜不是一个数组。
9.打印标题
学生 经济学 操作系统 数据库 平均分 排行榜
学生、课程名与平均分和排行榜不在一个程序体中。
它们不在任何循环中,而是在入口处。
①在学生标题下出现学生姓名。然后姓名和成绩在同一行,加入8数组。
②计算平均分和排行榜。然后平均分下面出现分数和排行榜。并非8的数组。
结论,我没有什么进步。这次培训。来了和没来一样。没有什么新的收获。