java实验报告1.docx
《java实验报告1.docx》由会员分享,可在线阅读,更多相关《java实验报告1.docx(20页珍藏版)》请在冰豆网上搜索。
java实验报告1
甘肃政法学院
本科生实验报告
(一)
姓名:
俞晓
学院:
信息工程学院
专业:
信息管理与信息系统
班级:
13级信管班
实验课程名称:
JAVASE课程实验
指导教师:
李瑞生教师
实验成绩:
实验日期:
2015年3月24日
开课时间:
2014-2015学年第二学期
甘肃政法学院实验管理中心印制
实验题目
JavaSE开发环境与
语言基础
小组合作
否
姓名
俞晓
班级
13级信管
学号
0144
一、实验目的
1.熟悉Java开发环境,Eclipse的安装与配置。
2.学会分别运用和Eclipse开发简单的Application和Applet程序。
3.掌握Java的各种基本数据类型的用法。
4.掌握Java的控制语句。
5.熟悉Java基本数据类型、数组、控制结构的用法。
6.学会运用Java基本语法解决实际应用问题。
二.实验环境
Windows7
Eclipse
三、实验内容与步骤
第一部分JavaSE开发环境与语言基础
开发环境配置与简单程序开发
(1)下载并安装。
(2)配置环境变量:
SDK平台提供的Java编译器()和Java解释器()位于Java安装目录的bin文件夹中,为了能在任何目录中使用编译器和解释器,应在系统特性中设置Path。
鼠标右击“我的电脑”--->选择“属性”--->弹出“系统特性”对话框--->单击“高级选项”--->点击“环境变量”,添加如下图所示的系统环境变量:
JDK的安装目录的jre文件夹中包含着Java应用程序运行时所需要的Java类库,这些类库被包含在jre\lib目录下的压缩文件中。
因此,再添加如下图所示环境变量:
(3)下载Eclipse,将其解压到某一目录下。
使用时只需双击eclipse图标即可。
(4)在记事本中编写简单的Application程序,运用JDK命令方式在屏幕上打印输出“你好,很高兴学习Java”。
(5)在记事本中编写简单的Applet程序,运用JDK命令方式在JavaApplet中绘制一行文字:
“这是一个JavaApplet程序”。
基本数据类型与控制语句
(1)输出希腊字母表。
publicclassGreekAlphabet
{
publicstaticvoidmain(Stringargs[])
{
intstartPosition=0,endPosition=0;
charcStart='α',cEnd='ω';
startPosition=cStart;//cStart做int型转换据运算,并将结果赋值给startPosition
endPosition=cEnd;//cEnd做int型转换运算,并将结果赋值给endPosition
"希腊字母\'α\'在unicode表中的顺序位置:
"+(int)cStart);
"希腊字母表:
");
for(inti=startPosition;i<=endPosition;i++)
{
charc='\0';
c=(char)i;//i做char型转换运算,并将结果赋值给c
""+c);
if((i-startPosition+1)%10==0)
"");
}
}
}
运行结果如下图所示:
(2)判断一个1至99999之间的数是否“回文数”。
importclassNumber{
publicstaticvoidmain(Stringargs[])
{
intnumber=0,d5,d4,d3,d2,d1;
Stringstr=("输入一个1至99999之间的数");
number=(str);
if(number>0&&number<100000)//判断number在1至99999之间的条件
{
d5=number/10000;//计算number的最高位(万位)d5
d4=number%10000/1000;//计算number的千位d4
d3=number%1000/100;//计算number的百位d3
d2=number%100/10;
d1=number%10;
if(d5!
=0)//判断number是5位数的条件
{
"是5位数");
if(d1==d5&&d2==d4)//判断number是回文数的条件
{
"是回文数");
}
else
{
"不是回文数");
}
}
elseif(d4!
=0)//判断number是4位数的条件
{
"是4位数");
if(d1==d4&&d2==d3)//判断number是回文数的条件码
{
"是回文数");
}
else
{
"不是回文数");
}
}
elseif(d3!
=0)//判断number是3位数的条件
{
"是3位数");
if(d3==d1)//判断number是回文数的条件
{
"是回文数");
}
else
{
"不是回文数");
}
}
elseif(d2!
=0)
{
"是2位数");
if(d1==d2)
{
"是回文数");
}
else
{
"不是回文数");
}
}
elseif(d1!
=0)
{
"是1位数");
"是回文数");
}
}
else
{
"\n%d不在1至99999之间",number);
}
}
}
运行结果如图所示:
第二部分JAVA语法应用
1、输出特殊偏旁的汉字
publicclassInputChinese{
publicstaticvoidmain(String[]args){
charch='研',zifu=0;
intp=22920,count=5,position=0;
"输出%d个石字傍的汉字:
\n",count);
for(charc=ch;c<=ch+count;c++){
position=c;//c进行int型转换据运算,并将结果赋值给position
"%c(%d)",c,position);
}
"\n输出%d个女字傍的汉字:
\n",count);
for(intn=p;n<=p+count;n++){
zifu=(char)n;//n做char型转换运算,并将结果赋值给zifu
"%c(%d)",zifu,n);
}
}
}
运行结果如图所示:
2、输入、输出学生的基本信息
importclassInputMess{
publicstaticvoidmain(String[]args){
Scannerreader=newScanner;
"输入姓名(回车确认):
");
Stringname=();//从键盘为name赋值
"输入年龄(回车确认):
");
byteage=();//从键盘为age赋值
"输入身高(回车确认):
");
floatheight=();//从键盘为height赋值
"%28s\n","--基本信息--");
"%10s%-10s","姓名:
",name);
"%4s%-4d","年龄:
",age);
"%4s%","身高:
",height);
}
}
运行结果如图所示:
3、自动售货机
importclassMachineSell{
publicstaticvoidmain(String[]args){
intmoney;
intdrinkKind;
"投入金额:
2或3元(回车确认):
");
Scannerreader=newScanner;
money=();
if(money==2){
"选择净净矿泉水
(1),甜甜矿泉水
(2)和美美矿泉水(3)之一:
\n");
"输入1,2或3:
");
drinkKind=();
switch(drinkKind){
case1:
"得到净净矿泉水\n");
break;
case2:
"得到甜甜矿泉水\n");
break;
case3:
"得到美美矿泉水\n");
break;
default:
"选择错误");
}
}elseif(money==3){
"选择爽口可乐
(1),清凉雪碧
(2),和雪山果汁(3)之一:
\n");
"输入1,2或3:
");
drinkKind=();
switch(drinkKind){
case1:
"得到爽口可乐\n");
break;
case2:
"得到清凉雪碧\n");
break;
case3:
"得到雪山果汁\n");
break;
default:
"选择错误");
}
}else{
"输入的钱币不符合要求");
}
}
}
4、猜数字游戏
importclassGuessNumber{
publicstaticvoidmain(String[]args){
Scannerreader=newScanner;
Randomrandom=newRandom();
"给你一个1至100之间的整数,请猜测这个数");
intrealNumber=(100)+1;//(100)是[0,100)中的随机整数
intyourGuess=0;
"输入您的猜测:
");
yourGuess=();
while(yourGuess!
=realNumber)//循环条件
{
if(yourGuess>realNumber)//猜大了的条件代码
{
"猜大了,再输入你的猜测:
");
yourGuess=();
}
elseif(yourGuess{
"猜小了,再输入你的猜测:
");
yourGuess=();
}
}
"猜对了!
");
}
}
运行结果如图所示:
5、遍历与复制数组
importclassInputArray{
publicstaticvoidmain(String[]args){
int[]a={1,2,3,4,500,600,700,800};
int[]b,c,d;
b=(a,;
c=(a,4);//Arrays调用copyOf方法复制数组a的前4个元素
调用toString方法返回数组c的元素值的表示格式
d=(a,,4);//Arrays调用copyOfRange方法复制数组a的后4个元素
c[]=-100;//将-100赋给数组c的最后一个元素
d[]=-200;
}
}
运行结果如图所示:
6、输入产品的数量和单价
importclassInputData{
publicstaticvoidmain(String[]args){
Scannerreader=newScanner;
intamount=0;
floatprice=0,sum=0;
"输入产品数量(回车确认):
");
amount=();//从键盘为amount赋值
"输入产品单价(回车确认):
");
price=();//从键盘为price赋值
sum=price*amount;
"数量:
%d,单价:
%,总价值:
%",amount,price,sum);
}
}
运行结果如图所示:
7、从命令行接收a,b,c,求解a-b范围的素数,每输出c个素数就换行输出。
importclassGetPrime{
publicstaticvoidmain(String[]args){
inta,b,c;
"依次输入要求范围的上下限和每行输出的个数:
");
Scannerreader=newScanner;//读取命令行中的参数并把字符串类型转换为整型
a=();
b=();
c=();
booleanflag;
intm,p,count=0;
for(m=a;m<=b;m++){
flag=true;
for(p=2;p<=m/2;p++)
if(m%p==0){
flag=false;
break;
}
if(flag){
+"\t");
count++;
if(count%c==0){
//每行中只输出c个素数
}
}
}
}
}
运行结果如图所示:
8、打印“魔方阵”:
即方阵的每行、每列、每条对角线上数字之和均相等(读懂并验证)。
publicclassMagics{
publicstaticvoidmain(String[]args){
inti=0;
intj=0;
intm=0;
intn=5;
j=(n+1)/2-1;
int[][]a=newint[n][n];
a[i][j]=++m;//第一个数在第一行正中
while(mi--;
j++;
//最近插入的元素为n的整数倍时,则选下面一行同列上的位置为新位置
if(m%n==0&&m>1){
i=i+2;
j=j-1;
}
if(i<0)//超出方阵上边界,则新位置取应选列的最下一个位置
i=i+n;
if(j>(n-1))//超出方阵右边界,则新位置取应选行的最左一个位置
j=j-n;
a[i][j]=++m;
}
for(i=0;ifor(j=0;j"\t");
}
}
}
}
运行结果如图所示:
10、求矩阵的积(读懂并验证)
publicclassMatrixDemo{
publicstaticvoidmain(String[]args){
int[][]a1={{1,2,3},{4,5,6}};
int[][]b1={{1,2},{3,4},{5,6}};
int[][]c1=newint[2][2];
for(introw=0;row<2;row++){
for(intcol=0;col<2;col++){
c1[row][col]=0;
for(intk=0;k<3;k++)
c1[row][col]+=a1[row][k]*b1[k][col];
}
}
for(introw=0;row<2;row++){
for(intcol=0;col<2;col++)
""+c1[row][col]);
}
}
}
运行结果如图所示:
四、实验过程与分析
d=(a,,4);//Arrays调用copyOfRange方法复制数组a的后4个元素
五、实验总结