20145228 《Java程序设计》实验报告一:Java开发环境的熟悉(Windows+IDEA)
实验要求
•使用JDK编译、运行简单的Java程序;
•使用IDEA 编辑、编译、运行、调试Java程序。
实验内容
•命令行下Java程序开发
•IDEA下Java程序开发、调试
•练习(通过命令行和IDEA两种方式实现,在IDEA下练习调试程序)
•制作学生成绩管理系统,并进行测试
实验步骤
前期准备
1.预先安装好JDK,并配置好环境变量。
2.下载idealC-2016.1.1,安装完毕后在IDEA界面中配置JDK,为后期运行IDEA调试程序做准备。
需求分析
完成一个成绩管理系统,需要有几项功能:姓名、成绩的录入和查询,学生成绩的列表。
代码实现
import java.util.Scanner;
//import java.util.Arrays;
public class S
{
//输入方法
public static int scanner()
{
//初始化输入
Scanner scanner=new Scanner(System.in);
int us_str_int=0;
try
{
us_str_int =scanner.nextInt();
}
catch(Exception e)
{
System.out.println("Error:请确保您输入的是1~5之间的数字," +
"并且没有特殊字符!");
return 0;
}
if(us_str_int>0&&us_str_int<=5)
{
return us_str_int;
}
else
{
System.out.print("Error:超出命令范围!1~5");
return 0;
}
}
//输出方法
public static void println(String str)
{
System.out.println(str);
}
public static void main(String[]Args)
{
//System.out.println( scanner());//测试
//println("i");//测试
Scanner scanner=new Scanner(System.in);
boolean bool=true;
boolean leb1=false;
boolean leb2=false;
int max=0;
String[] students_name={};
int[] students_cj={};
do{
println("********欢迎进入成绩管理系统********");
println("请选择功能:1-姓名录入 2-成绩录入" +
" 3-成绩列表 4-成绩查询 " +
" 5-退出系统");
int us_ml = scanner();//调用事先写好错误处理的输入函数
switch(us_ml)
{
//功能1:
case 1:
println("**********开始录入姓名**********");
println("请输入班级的人数");
try
{
max = scanner.nextInt();
students_name=new String[max];
for(int i=0;i<=students_name.length-1;i++)
{
println("请输入第"+(i+1)+"个人的姓名:");
students_name[i]=scanner.next();
}
println("**********录入已完成**********");
bool=true;
leb1=true;
}
catch(Exception e)
{
println("Error:输入有误!");
bool=true;
leb1=false;
}
break;
//功能2
case 2:
//println(Arrays.toString(students_name));//用于测试
if(leb1==true)
{
students_cj= new int[students_name.length];
println("********开始录入成绩********");
for(int i=0;i<=students_name.length-1;i++)
{
println("学生姓名:"+students_name[i]+",成绩:?");
students_cj[i]=scanner.nextInt();
leb2=true;
}
println("********成绩录入完成********");
bool=true;
leb2=true;
}
else
{
println("Erorr:您还没有输入班级人数或学生姓名!");
bool=true;
leb2=false;
}
break;
case 3:
if(leb1==true&&leb2==true)
{
println("********成绩列表********");
for(int i=0;i<=students_name.length-1;i++)
{
System.out.println((i+1)+". "+students_name[i]+"学生的成绩:"
+students_cj[i]+"分");
}
println("********成绩列表********");
}
else
{
println("Error:请检查你是否录入姓名和成绩?");
}
bool=true;
break;
case 4:
if(leb1==true&&leb2==true)
{
println("********开始查询********");
println("请输入要查找的学生姓名");
String st_name=scanner.next();
int i=0;
for(i=0;i<=students_name.length-1;i++)
{
if(st_name.equalsIgnoreCase(students_name[i]))
{
break;
}
}
if(i<=students_name.length-1)
{
System.out.println("学生"+students_name[i]+"的分数为:"
+students_cj[i]+"分");
}
else
{
println("Error:请检查你是否录入该姓名和成绩?");
}
println("********结束查询********");
}
else
{
println("Error:请检查你是否录入姓名和成绩?");
}
bool=true;
break;
case 5:
bool=false;
break;
}
}while(bool);
}}
分析总结
在这次实验中,出现了许多问题,许多语法知识还不够熟练,只能从网上查找相关资料,借鉴并加以改动,再应用到自己的代码中。另外,刚开始编写代码时,没有初始化输入,导致运行错误,经过多次改进,才得以成功运行。
感悟
第一次JAVA实验,应用平时学到的知识来完成一个小程序,这时一些问题就出来了,解决这些问题的过程也就是我们成长、进步的过程,才能在未来的JAVA学习中提高更多。
PSP(Personal Software Process)时间
步骤 | 耗时 | 百分比 |
---|---|---|
需求分析 | 10min | 10% |
设计 | 20min | 20% |
代码实现 | 40min | 40% |
测试 | 15min | 15% |
分析总结 | 15min | 15% |