1、GDOU-B-11-112 广东海洋大学学生实验报告书(学生用表) 实验名称 实验三. 分支与循环语句 课程名称 Java程序设计与开发技术 课程号 16232204 学院(系) 信息学院 专业 计算机科学与技术 班级 计科 学生姓名 学号 实验地点 钟海楼 04019 实验日期 2015年 9月22日 一、实验目的 (1)学习掌握Java中的if-else if-else多分支语句; (2)学习使用Java 程序中的if-else分支和while循环语句解决问题。 二、实验任务 完成实验三指导上实验1、实验2的
2、实验任务。 三、实验仪器设备和材料 安装有J2SE开发工具的PC机。 四、实验内容和步骤 实验1 回文数 编写一个Java应用程序。用户从键盘输入一个1~9999之间的数,程序将判断这个数是几位数,并判断这个数是否是回文数。 代码如下: Number.java import java.util.Scanner; public class Number{ public static void main(String args[]){ int number=0,d5,d4,d3,d2,d1; Scanner reader=new Scanner(S
3、ystem.in); System.out.println("输入一个1至99999之间的数"); number=reader.nextInt(); if(number>=1&&number<=99999){ d5=number/10000; d4=number%10000/1000; d3=number%1000/100; d2=number%100/10; d1=number%10; if(d5!=0){ System.out.println(number+"是5位数"); if(d5==d1&&d4==
4、d2){ System.out.println(number+"是回文数"); } else{ System.out.println(number+"不是回文数"); } } else if(d4!=0){ System.out.println(number+"是4位数"); if(d4==d1&&d3==d2){ System.out.println(number+"是回文数"); } else{ System.out.println(number+"不是回文
5、数"); } } else if(d3!=0){ System.out.println(number+"是3位数"); if(d3==d1){ System.out.println(number+"是回文数"); } else{ System.out.println(number+"不是回文数"); } } else if(d2!=0){ System.out.println(number+"是2位数"); if(d2==d1){ System.o
6、ut.println(number+"是回文数"); } else{ System.out.println(number+"不是回文数"); } } else if(d1!=0){ System.out.println(number+"是1位数"); System.out.println(number+"是回文数"); } } else { System.out.printf("\n%d不在1至99999之间",number); } } } 运行结果:
7、 课后的练习 (1) 程序运行时,用户从键盘输入2332,程序提示怎样的提示。 (2) 程序运行时,用户从键盘输入654321,程序提示怎样的提示。 (3) 程序运行时,用户从键盘输入33321,程序提示怎样的提示。 实验2 猜数字游戏 编写一个Java应用程序,实现下列功能: ·程序随机分配客户一个1~100之间的整数。 ·用户输入自己的猜测。 ·程序返回提示信息,提示信息分别是“猜大了”、“猜小了”、“猜对了”。 ·用户可根据提示信息再次输入猜测,知道提示信息是“猜对了”。 代码如下: GuessNumber.java imp
8、ort java.util.Scanner; import java.util.Random; public class GuessNumber{ public static void main(String args[]){ Scanner reader=new Scanner(System.in); Random random=new Random(); System.out.println("给你一个1至100之间的整数,请猜测这个数"); int realNumber=random.nextInt(100)+1; int yourGuess=0;
9、
System.out.print("输入您的猜测:");
yourGuess=reader.nextInt();
while(yourGuess!=realNumber){
if(yourGuess>realNumber){
System.out.print("猜大了,再输入你的猜测:");
yourGuess=reader.nextInt();
}
else if(yourGuess 10、nextInt();
}
}
System.out.println("猜对了!");
}
}
运行结果:
课后的练习
(1) 用“yourGuess>realNumber”替换代码1可以吗?
不可以,如果代替,则会令程序在检测到用户猜测数字大于正确数字时就会提示“猜对了”。
(2) 语句“System.out.println(“猜对了!”);”为何要放在while循环语句之后?放在while语句的循环体中合理吗?
因为while循环中的退出条件是当用户输入的yourGuess等于realNumber,所以一旦程序正确退出while循环就说明用户输入的数字是正确的,从而提示“猜对了”。如果放在while循环体中,则会在每次用户输入后不管对错都会提示“猜对了”。
成绩
指导教师
孙兵
日期
2015年9月23日
注:请用A4纸书写,不够另附纸。 第 页,共 页






