• java实验报告2:三种结构综合案例练习


    目录

    目录

    实验内容

     回文数的判断

    “剪刀石头布”的游戏

    猜数字,

    不使用数组的方式求1000以内的素数。


    【实验目的】

    了解if语句和switch语句的区别,了解for循环和while循环的区别

    熟悉break和continue不同的使用场合

    掌握if语句、switch语句、for循环和while循环

    【注意事项】

    注意电源插座的用电安全;

    遵守计算机的使用注意事项;

    防范病毒。

    【使用工具】

    电脑

    window系统

    JDK环境

    记事本

    【相关知识】

    1.分支语句的语法结构:

    if(条件表达式){
        若干语句1
    }else {
        若干语句2
    }

    2.多重嵌套分支语句的语法结构:

    if(条件表达式1){
        若干语句1
    }else if(条件表达式2){
        若干语句2
    }
    ...
    else {
        若干语句N
    }

    3.while循环的语法结构:

    while(表达式){
        若干语句
    }

    4.for循环的语法结构:

    for(初始化表达式;条件表达式;循环计数表达式){
        若干语句
    }

    5.随机数对象的创建:Random random = new Random(),由对象创建一个0~9的随机整数:int n = random.nextInt(10)

    【主要内容】

    1.回文数的判断,从键盘输入一个1~99999之间的数,程序判断是几位数,并判断是否为回文数,最后输出结果。回文数是指将该数含有的数字逆序排列后得到的数和原数相同。

    2.“剪刀石头布”的游戏,要求编写一个剪刀石头布游戏的程序。程序启动后会随机生成1~3的随机整数数,分别代表剪刀、石头和布,玩家通过键盘输入剪刀、石头和布与电脑进行5轮的游戏,赢的次数多的一方为赢家。若五局皆为平局,则最终结果判为平局。

    3.猜数字,程序首先会产生一个0~9999的随机数字,然后用户输入自己猜测;程序会返回“你输入的数字大了”、“你输入的数小了”或“猜对了”;如果不是猜对了,则程序会继续让用户猜,用户有8次猜测机会,这8次如果都没有猜对,游戏挑战失败而结束。

    4.不使用数组的方式求1000以内的素数。

    实验内容

     回文数的判断

    从键盘输入一个1~99999之间的数,程序判断是几位数,并判断是否为回文数,最后输出结果。回文数是指将该数含有的数字逆序排列后得到的数和原数相同。

    代码如下:

    1. import java.util.Scanner;
    2. public class palindromenumber{
    3. public static void main(String[] args) {
    4. System.out.println("从1-99999中任意输入一个数:");
    5. Scanner sc=new Scanner(System.in);
    6. int number=sc.nextInt();
    7. int a=number;
    8. int count=0;
    9. while(a!=0){
    10. a=a/10;
    11. count++;
    12. }
    13. System.out.println("你输入的是一个"+count+"位数字");
    14. switch (count){
    15. case 1:
    16. System.out.println(number+"是回文数字");
    17. break;
    18. case 2:
    19. if(number/10==number%10){
    20. System.out.println(number+"是回文数字");
    21. }else{
    22. System.out.println(number+"不是回文数字");
    23. }
    24. break;
    25. case 3:
    26. if(number/100==number%10){
    27. System.out.println(number+"是回文数字");
    28. }else{
    29. System.out.println(number+"不是回文数字");
    30. }
    31. break;
    32. case 4:
    33. if(number/1000==number%10&&number%1000/100==number%1000%100/10){
    34. System.out.println(number+"是回文数字");
    35. }else{
    36. System.out.println(number+"不是回文数字");
    37. }
    38. break;
    39. case 5:
    40. if(number/10000==number%10&&number%10000/1000==number%100/10){
    41. System.out.println(number+"是回文数字");
    42. }else{
    43. System.out.println(number+"不是回文数字");
    44. }
    45. break;
    46. }
    47. }
    48. }

    运行结果如图1:

    “剪刀石头布”的游戏

    要求编写一个剪刀石头布游戏的程序。程序启动后会随机生成1~3的随机整数数,分别代表剪刀、石头和布,玩家通过键盘输入剪刀、石头和布与电脑进行5轮的游戏,赢的次数多的一方为赢家。若五局皆为平局,则最终结果判为平局。

    代码如下:

    1. import java.util.Random;
    2. import java.util.Scanner;
    3. public class scissor {
    4. public static void main (String[] args) {
    5. // 通过Random类中的nextInt(int n)方法,生成1-3的随机数 1代表剪刀 2代表
    6. //石头 3代表布
    7. int a=0; 玩家获胜场次
    8. int b=0; 平局场次
    9. System.out.println(游戏开始);
    10. System.out.println(剪刀 石头 布);
    11. Scanner sc = new Scanner(System.in);
    12. for(int i = 1; i=5;i++){
    13. System.out.println(第+i+局);
    14. int randomNumber=new Random().nextInt(3)+1;
    15. String enter = sc.next(); 接收用户输入的字符
    16. if(enter.equals(剪刀)) { 判断用户输入的字符
    17. if(randomNumber==1) { 判断谁输谁赢
    18. System.out.println(电脑出的是剪刀);
    19. System.out.println(平);
    20. b++; 平局后b+1
    21. }else if(randomNumber==2) {
    22. System.out.println(电脑出的是石头);
    23. System.out.println(你输了);
    24. }else if(randomNumber==3) {
    25. System.out.println(电脑出的是布);
    26. System.out.println(你赢了);
    27. a++; 玩家赢后 a+1
    28. }
    29. }else if(enter.equals(石头)) {
    30. if(randomNumber==1) {
    31. System.out.println(电脑出的是剪刀);
    32. System.out.println(你赢了);
    33. a++;
    34. }else if(randomNumber==2) {
    35. System.out.println(电脑出的是石头);
    36. System.out.println(平);
    37. b++;
    38. }else if(randomNumber==3) {
    39. System.out.println(电脑出的是布);
    40. System.out.println(你输了);
    41. }
    42. }else if(enter.equals(布)) {
    43. if(randomNumber==1) {
    44. System.out.println(电脑出的是剪刀);
    45. System.out.println(你输了);
    46. }else if(randomNumber==2) {
    47. System.out.println(电脑出的是石头);
    48. System.out.println(你赢了);
    49. a++;
    50. }else if(randomNumber==3) {
    51. System.out.println(电脑出的是布);
    52. System.out.println(平);
    53. b++;
    54. }
    55. }else {
    56. System.out.println(输入错误!);
    57. }
    58. }
    59. System.out.println(本次游戏您赢了+a+局,平了+b+局);
    60. int c = 5-a-b; 计算出电脑胜利的场次
    61. if(a==c) {
    62. System.out.println(和局!);
    63. }else if(ab) {
    64. System.out.println(您赢了!);
    65. }else{
    66. System.out.println(您输了!);
    67. }
    68. }
    69. }

    猜数字,

    程序首先会产生一个数字,然后用户输入自己猜测;程序会返回“你输入的数字大了”、“你输入的数小了”或“猜对了”;如果不是猜对了,则程序会继续让用户猜,用户有8次猜测机会,这8次如果都没有猜对,游戏挑战失败而结束。

    1. import java.util.Random;
    2. import java.util.Scanner;
    3. public class guessnumber {
    4. public static void main(String[] args) {
    5. Random r=new Random();
    6. int number=r.nextInt(10000);
    7. int count=0;
    8. while (count<8){
    9. Scanner sc=new Scanner(System.in);
    10. System.out.println("你还有"+(8-count)+"次猜数机会;从0-9999输入你猜的数字:");
    11. int guessnumber=sc.nextInt();
    12. count++;//记录猜的次数
    13. //比较输入的数和要猜的数
    14. if(guessnumber>number){
    15. System.out.println("你输入的数大了");
    16. }else if(guessnumber
    17. System.out.println("你输入的数小了");
    18. }else{
    19. System.out.println("恭喜你猜对了");
    20. System.out.println("你一共猜了"+count+"次才猜对了");
    21. break;//猜对了就要跳出循环
    22. }
    23. if(count==8){
    24. System.out.println("正确答案是"+number+"你输了,游戏结束!");
    25. }
    26. }
    27. }
    28. }

    不使用数组的方式求1000以内的素数。

    1. public class primenumber{
    2. public static void main(String[] args) {
    3. int j,count=0;
    4. boolean flag;
    5. for(int i=2;i<=1000;i++){
    6. flag=false;
    7. for(j=2;j
    8. if(i%j==0){
    9. flag=true;
    10. break;
    11. }
    12. }//
    13. if(flag==false){
    14. System.out.println(i);
    15. count++;
    16. }
    17. }
    18. System.out.println("一共有素数"+count+"个");
    19. }
    20. }

     

  • 相关阅读:
    基于Python的汉语分词系统
    高考选择:专业优先还是学校优先?
    20min带你学习——HTTP协议、以及经典面试问题
    算法刷题入门线性表|单调栈
    神经网络分析教学目标,神经网络分析教学反思
    如何使用html、css制作一个期末作业网站【羽毛球体育运动主题html网页设计】
    java毕业设计普通中学体育卫生信息管理系统源码+lw文档+mybatis+系统+mysql数据库+调试
    添加docker容器数据卷
    Vue学习笔记
    java计算机毕业设计基于安卓Android的掌上酒店预订APP
  • 原文地址:https://blog.csdn.net/weixin_51330376/article/details/127417763