资源描述
资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。
实验项目一第2部分
Java语法应用( 选做)
[实验目的]
1、 熟悉Java基本数据类型、 数组、 控制结构的用法。
2、 学会运用Java基本语法解决实际应用问题。
[实验要求]
1、 复习理论教学中所学的内容。
2、 认真进行实验预习, 查阅参考书, 书写源程序, 书写实验预习报告。
[实验课时]2学时
[实验教学方式]学生上机实验, 教师随堂指导。
[实验内容]
1、 输出特殊边傍的汉字
请按模板要求, 将【代码】替换为Java程序代码。
//InputChinese.java
publicclassE{
publicstaticvoidmain(Stringargs[]){
charch='研',zifu=0;
intp=22920,count=5,position=0;
System.out.printf("输出%d个石字傍的汉字:\n",count);
for(charc=ch;c<=ch+count;c++){
【代码1】//c进行int型转换据运算, 并将结果赋值给position
System.out.printf("%c(%d)",c,position);
}
System.out.printf("\n输出%d个女字傍的汉字:\n",count);
for(intn=p;n<=p+count;n++){
【代码2】//n做char型转换运算, 并将结果赋值给zifu
System.out.printf("%c(%d)",zifu,n);
}
}
}
2、 输入、 输出学生的基本信息
请按模板要求, 将【代码】替换为Java程序代码。
//InputMess.java
importjava.util.Scanner;
publicclassInputMess{
publicstaticvoidmain(Stringargs[]){
Scannerreader=newScanner(System.in);
System.out.println("输入姓名(回车确认):");
Stringname=【代码1】//从键盘为name赋值
System.out.println("输入年龄(回车确认):");
byteage=【代码2】//从键盘为age赋值
System.out.println("输入身高(回车确认):");
floatheight=【代码3】//从键盘为height赋值
System.out.printf("%28s\n","--基本信息--");
System.out.printf("%10s%-10s","姓名:",name);
System.out.printf("%4s%-4d","年龄:",age);
System.out.printf("%4s%-4.2f","身高:",height);
}
}
3、 自动售货机
请编译、 运行模板给出的代码, 进一步熟悉多分支选择结构。
//MachineSell.java
importjava.util.Scanner;
publicclassMachineSell{
publicstaticvoidmain(Stringargs[]){
intmoney;
intdrinkKind;
System.out.printf("投入金额:2或3元(回车确认):");
Scannerreader=newScanner(System.in);
money=reader.nextInt();
if(money==2){
System.out.printf("选择净净矿泉水(1),甜甜矿泉水(2)和美美矿泉水(3)之一:\n");
System.out.printf("输入1,2或3:");
drinkKind=reader.nextInt();
switch(drinkKind){
case1:System.out.printf("得到净净矿泉水\n");
break;
case2:System.out.printf("得到甜甜矿泉水\n");
break;
case3:System.out.printf("得到美美矿泉水\n");
break;
default:System.out.printf("选择错误");
}
}
elseif(money==3){
System.out.printf("选择爽口可乐(1),清凉雪碧(2),和雪山果汁(3)之一:\n");
System.out.printf("输入1,2或3:");
drinkKind=reader.nextInt();
switch(drinkKind){
case1:System.out.printf("得到爽口可乐\n");
break;
case2:System.out.printf("得到清凉雪碧\n");
break;
case3:System.out.printf("得到雪山果汁\n");
break;
default:System.out.printf("选择错误");
}
}
else{
System.out.printf("输入的钱币不符合要求");
}
}
}
4、 猜数字游戏
请按模板要求, 将【代码】替换为Java程序代码。
//GuessNumber.java
importjava.util.Scanner;
importjava.util.Random;
publicclassGuessNumber{
publicstaticvoidmain(Stringargs[]){
Scannerreader=newScanner(System.in);
Randomrandom=newRandom();
System.out.println("给你一个1至100之间的整数,请猜测这个数");
intrealNumber=random.nextInt(100)+1;//random.nextInt(100)是[0,100)中的随机整数
intyourGuess=0;
System.out.print("输入您的猜测:");
yourGuess=reader.nextInt();
while(【代码1】)//循环条件
{
if(【代码2】)//猜大了的条件代码
{
System.out.print("猜大了,再输入你的猜测:");
yourGuess=reader.nextInt();
}
elseif(【代码3】)//猜小了的条件代码
{
System.out.print("猜小了,再输入你的猜测:");
yourGuess=reader.nextInt();
}
}
System.out.println("猜对了!");
}
}
5、 遍历与复制数组
请按模板要求, 将【代码】替换为Java程序代码。
//InputArray.java
importjava.util.Arrays;
publicclassCopyArray{
publicstaticvoidmain(Stringargs[]){
int[]a={1,2,3,4,500,600,700,800};
int[]b,c,d;
System.out.println(Arrays.toString(a));
b=Arrays.copyOf(a,a.length);
System.out.println(Arrays.toString(b));
c=【代码1】//Arrays调用copyOf方法复制数组a的前4个元素
System.out.println(【代码2】);//Arrays调用toString方法返回数组c的元素值的表示格式
d=【代码3】//Arrays调用copyOfRange方法复制数组a的后4个元素
System.out.println(Arrays.toString(d));
【代码4】//将-100赋给数组c的最后一个元素
d[d.length-1]=-200;
System.out.println(Arrays.toString(a));
}
}
6、 输入产品的数量和单价
请按模板要求, 将【代码】替换为Java程序代码。
//InputData.java
importjava.util.Scanner;
publicclassInputData{
publicstaticvoidmain(Stringargs[]){
Scannerreader=newScanner(System.in);
intamount=0;
floatprice=0,sum=0;
System.out.println("输入产品数量(回车确认):");
【代码1】//从键盘为amount赋值
System.out.println("输入产品单价(回车确认):");
【代码2】//从键盘为price赋值
sum=price*amount;
System.out.printf("数量:%d,单价:%5.2f,总价值:%5.2f",amount,price,sum);
}
}
7、 从命令行接收a,b,c, 求解a-b范围的素数, 每输出c个素数就换行输出。
publicclassGetPrime{
publicstaticvoidmain(Stringargs[]){
inta,b,c;
//读取命令行中的参数并把字符串类型转换为整型
a=【代码1】
b=【代码2】
c=【代码3】
booleanflag;
intm,p,count=0;
for(m=a;m<=b;m++){
flag=true;
for(p=2;p<=m/2;p++)
【代码4】{
flag=false;
break;
if(flag){
System.out.print(m+"\t");
count++;
【代码5】 //每行中只输出c个素数
System.out.println();
}
}
}
}
8、 打印”魔方阵”: 即方阵的每行、 每列、 每条对角线上数字之和均相等( 读懂并验证) 。
packageorg.arrays;
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(m<n*n){
i--;
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;i<n;i++){
for(j=0;j<n;j++){
System.out.print(a[i][j]+"\t");
}
System.out.println();
}
}
}
10、 求矩阵的积( 读懂并验证)
packageorg.arrays;
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++)
System.out.print(""+c1[row][col]);
System.out.println();
}
}
}
展开阅读全文