实验3.1 单分支结构
【实验目的】掌握使用if单分支语句。
【实验要求】编写一个Java应用程序,用户从键盘输入一个成绩,程序将判断该成绩是否及格。
【实验步骤】
Choice.java
import java.util.Scanner;
public class Choice {
public static void main (String args[] ) {
System.out.print(“请输入成绩:”);
Scanner input = new Scanner(System.in);
int score = input.nextInt();
【代码】 // 判断及格的条件
{ System.out.println(“及格”);
}
}
代码实现:
import java.util.Scanner;
public class Choice {
public static void main (String args[] ) {
System.out.print("请输入成绩:");
Scanner input = new Scanner(System.in);
int score = input.nextInt();
if(score>=60) // 判断及格的条件
{System.out.println("及格");
}
}
}
运行结果:
实验3.2 双分支结构
【实验目的】掌握使用if-else双分支语句。
【实验要求】编写一个Java应用程序,用户从键盘输入一个成绩,程序将判断该成绩是否能得到奖励。
【实验步骤】
Choice1.java
import java.util.Scanner;
public class Choice1 {
public static void main (String args[] ) {
Scanner input = new Scanner(System.in);
System.out.print(“请输入语文成绩:”);
int score = input.nextInt();
【代码1】 // 判断成绩是否在85分以上
System.out.println(“考的不错!奖励考卷一套!”);
【代码2】 // 若成绩在85分一下
System.out.println(“继续努力!”);
}
}
代码实现:
代码:
import java.util.Scanner;
public class Choice1 {
public static void main (String args[] ) {
Scanner input = new Scanner(System.in);
System.out.print("请输入语文成绩:");
int score = input.nextInt();
if(score>85) // 判断成绩是否在85分以上
{System.out.println("考的不错!奖励考卷一套!");
}
else // 若成绩在85分一下
{System.out.println("继续努力!");
}
}
}
运行结果:
实验3.3 多分支结构
【实验目的】掌握使用if-else if-else多分支语句。
【实验要求】编写一个Java应用程序,用户从键盘输入一个1~99999之间的数,程序将判断这个数是几位数,并判断这个数是否回文数。回文数是指将该数含有的数字逆序排列后得到的数和原数相同,例如12121、3223都是回文数。
【实验步骤】
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 (System.in);
System.out.println(“输入一个1至99999之间的数”);
number = reader.nextInt();
if (【代码1】) { // 判断number在1~99999之间的条件
【代码2】 // 计算number的最高位(万位)d5
【代码3】 // 计算number的千位d4
【代码4】 // 计算number的百位d3
d2 = number%100/10;
d1 = number%10;
if ( 【代码5】) { // 判断number是5位数的条件
System.out.println (number+”是5位数”);
if (【代码6】) // 判断number是回文数的条件
System.out.println (number+”是回文数”);
else
System.out.println (number+”不是回文数”);
}
else if (【代码7】) { // 判断number是4位数的条件
System.out.println (number+”是4位数”);
if (【代码8】) // 判断number是回文数的条件
System.out.println (number+”是回文数”);
else
System.out.println (number+”不是回文数”);
}
else if (【代码9】) { // 判断number是3位数的条件
System.out.println (number+”是3位数”);
if (【代码10】) // 判断number是回文数的条件
System.out.println (number+”是回文数”);
else
System.out.println (number+”不是回文数”);
}
else if (d2!=0) { // 判断number是2位数的条件
System.out.println (number+”是2位数”);
if (d1==d2) // 判断number是回文数的条件
System.out.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);
}
}
代码实现:
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 (System.in);
System.out.println("输入一个1至99999之间的数");
number = reader.nextInt();
if (number>=1&&number<100000) { // 判断number在1~99999之间的条件
d5 = number/10000; // 计算number的最高位(万位)d5
d4 = number/1000 ; // 计算number的千位d4
d3 = number/100 ; // 计算number的百位d3
d2 = number%100/10;
d1 = number%10;
if (d5!=0) { // 判断number是5位数的条件
System.out.println (number+"是5位数");
if (d5==d1||d4==d2) // 判断number是回文数的条件
System.out.println (number+"是回文数");
else
System.out.println (number+"不是回文数");
}
else if (d4!=0) { // 判断number是4位数的条件
System.out.println (number+"是4位数");
if (d4==d1&&d3==d2) // 判断number是回文数的条件
System.out.println (number+"是回文数");
else
System.out.println (number+"不是回文数");
}
else if (d3!=0) { // 判断number是3位数的条件
System.out.println (number+"是3位数");
if (d3==d1) // 判断number是回文数的条件
System.out.println (number+"是回文数");
else
System.out.println (number+"不是回文数");
}
else if (d2!=0) { // 判断number是2位数的条件
System.out.println (number+"是2位数");
if (d1==d2) // 判断number是回文数的条件
System.out.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);
}
}
运行结果:
实验3.4 switch开关语句
【实验目的】掌握使用switch开关语句。
【实验要求】编写一个Java应用程序,判断用户从键盘输入的正整数是否为中奖号码。
【实验步骤】
Example3_4.java
import java.util.Scanner;
public class Example3_4{
public static void main(String args[]) {
int number = 0;
System.out.println("输入正整数(回车确定)");
Scanner reader = new Scanner(System.in);
number = reader.nextInt();
switch(【代码1】) { //判断用户从键盘输入的正整数是否为中奖号码
case 9 :
case 131 :
case 12 : System.out.println(number+"是三等奖");
【代码2】 //跳出switch语句
case 209 :
case 596 :
case 27 : System.out.println(number+"是二等奖");
break;
case 875 :
case 316 :
case 59 : System.out.println(number+"是一等奖");
break;
default: System.out.println(number+"未中奖");
}
}
}
代码实现:
import java.util.Scanner;
public class Example3_4{
public static void main(String args[]) {
int number = 0;
System.out.println("输入正整数(回车确定)");
Scanner reader = new Scanner(System.in);
number = reader.nextInt();
switch(number) { //判断用户从键盘输入的正整数是否为中奖号码
case 9 :
case 131 :
case 12 : System.out.println(number+"是三等奖");
break; //跳出switch语句
case 209 :
case 596 :
case 27 : System.out.println(number+"是二等奖");
break;
case 875 :
case 316 :
case 59 : System.out.println(number+"是一等奖");
break;
default: System.out.println(number+"未中奖");
}
}
}
运行结果:
实验3.5 for循环语句
【实验目的】掌握使用for循环语句。
【实验要求】编写一个Java应用程序,计算8+88+888+8888… …的前12项和。
【实验步骤】
Example3_5.java
public class Example3_5 {
public static void main(String args[]) {
long sum = 0,a = 8,item = a,n = 12,i = 1;
for(【代码1】) { // 计算8+88+888+8888… …的前12项和
sum = sum+item;
【代码2】 // 在item中存放下一个被加项
}
System.out.println(sum);
}
}
代码实现:
public class Example3_5 {
public static void main(String args[]) {
long sum = 0,a = 8,item = a,n = 12,i = 1;
for(i=1;i<=n;i++) { // 计算8+88+888+8888… …的前12项和
sum = sum+item;
item=item*10+a; // 在item中存放下一个被加项
}
System.out.println(sum);
}
}
运行结果:
实验3.6 while循环语句(1)
【实验目的】掌握使用while循环语句。
【实验要求】 编写一个Java应用程序,用while语句计算1+1/2!+1/3!+1/4! … 的前20项。
【实验步骤】
Example3_6.java
public class Example3_6 {
public static void main(String args[]) {
double sum = 0,item = 1;
int i = 1,n = 20;
while(【代码1】) { // 判断被加项是否超过前20项
sum = sum+item;
i = i+1;
【代码2】 // 在item中存放下一个被加项
}
System.out.println("sum="+sum);
}
}
代码实现:
public class Example3_6 {
public static void main(String args[]) {
double sum = 0,item = 1;
int i = 1,n = 20;
while(i<=n) { // 判断被加项是否超过前20项
sum = sum+item;
i = i+1;
item=item*(1.0/i); // 在item中存放下一个被加项
}
System.out.println("sum="+sum);
}
}
运行结果:
实验3.7 while循环语句(2)
【实验要求】 编写一个Java应用程序,用户在键盘依次输入若干个数字,每输入一个数字都需要按回车键确认,最后在键盘输入一个非数字字符串结束整个输入操作过程。程序将计算出这些数的和以及平均值。
【实验步骤】
Example3_9.java
import java.util.*;
public class Example3_9 {
public static void main (String args[ ]){
Scanner reader=new Scanner(System.in);
double sum=0;
int m=0;
while(【代码1】){ // 等待用户在键盘输入数据
double x=reader.nextDouble(); // 获取用户输入的数据
m=m+1;
sum=sum+x;
}
System.out.printf("%d个数的和为%f\n",m,sum);
System.out.printf("%d个数的平均值是%f\n",m,sum/m);
}
}
代码实现:
import java.util.*;
public class Example3_9 {
public static void main (String args[ ]){
Scanner reader=new Scanner(System.in);
double sum=0;
int m=0;
while(reader.hasNextDouble()){ // 等待用户在键盘输入数据
double x=reader.nextDouble(); // 获取用户输入的数据
m=m+1;
sum=sum+x;
}
System.out.printf("%d个数的和为%f\n",m,sum);
System.out.printf("%d个数的平均值是%f\n",m,sum/m);
}
}
运行结果: