吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1258|回复: 4
收起左侧

[Java 转载] 记录我的练习!

[复制链接]
Twinkling 发表于 2021-10-6 02:05
本人新手小白!请大佬指教!
自学了几天并写了个特别简单但对于我来说并不那么简单的练习,最后一个while循环,想用户输入错误的话就重新来过,做了好久做不出来,我照着网上的代码做出来了,但是都不知道为啥成立了{:1_908:}
有没有大佬指教一下,代码中的能改的点,万分感谢!!!
[Java] 纯文本查看 复制代码
package com.Test;

import java.util.Random;
import java.util.Scanner;

public class MomSeesBeaten {
    public static void main(String[] args) {
        int[] arr = new int[3];
        Scanner sc = new Scanner(System.in);
        System.out.println("本程序仅供娱乐,请给祖国的花朵多一点点爱!!!");
        System.out.println("输入任意的数字按键并按下回车开始");
        sc.nextInt();
        System.out.println("***程序指定科目为:语 数 外 ;单门成绩满分指定成绩为 100 分;总分为: 300 分***");
        for (int i = 0; i < arr.length; i++) {
            System.out.println("请输入第 " + (i + 1) + " 门成绩");
            int score = sc.nextInt();
            if (score > 0 && score < 100) {
                arr[i] = score;
            } else {
                System.out.println("您输入的成绩不正确,请检查成绩并重新输入!");
                i--;
            }
        }
        int sum = 0;
//        遍历数组 数据相加求和
        for (int i = 0; i < arr.length; i++) {
            sum += arr[i];
        }
        System.out.println("您这次考试的成绩总分数为:" + sum + " 分");
        if (sum > 270) {
            System.out.println("这次的考试成绩分数很好,奖励 ” *** “ ,希望下次继续努力!!");
        }
        if (sum < 270 && sum > 240) {
            System.out.println("这次考试成绩不错,奖励 ” *** “ ,希望下次继续努力!!");
        }
        if (sum < 240 && sum > 210) {
            System.out.println("这次考试成绩还行,奖励 ” *** “ ,希望下次更上一层楼!!");
        }
        if (sum < 210 && sum > 180) {
            System.out.println("这次考试成绩将就,奖励呢就没有了,惩罚呢也没有 ,希望下次不是这个结果!!");
        } else {

            System.out.println("在下面的惩罚中选择一个,结束这混蛋的成绩");
            System.out.println("1、竹笋炒肉  2、笋子炒肉 3、笋子熬肉 4、让程序帮你选个,并在下面输入 4 进行自动选择!!");

            while (true) {
                try {
                    int ss = sc.nextInt();
                    if (ss == 4) {
                        String[] st = new String[3];
                        st[0] = "1、竹笋炒肉 ";
                        st[1] = "2、笋子炒肉 ";
                        st[2] = "3、笋子熬肉 ";
                        Random ran = new Random();
                        int nextlnt = ran.nextInt(3);
                        System.out.println("恭喜您,这次你选到的奖励为:" + st[nextlnt]);
                        System.out.println();
                        System.out.println();
                        System.out.println();
                        System.out.println();
                        System.out.println("老哥,打完的话听弟一句劝,打重了,可能老了以后伤风感冒就得吃席了!!!");
                        break;
                    } else {
                        System.out.println("您的输入错误请重新选择");
                    }
                } catch (Exception e) {
                }
            }
        }

    }
}

免费评分

参与人数 1吾爱币 +5 热心值 +1 收起 理由
苏紫方璇 + 5 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

judgecx 发表于 2021-10-6 09:38
ai 我最近我也准备学java
无字情书 发表于 2021-10-6 11:35
本帖最后由 无字情书 于 2021-10-6 14:50 编辑

判断分数那边 跟下面的惩罚那里有BUG,分数那边不管多少分都会走到下面的惩罚。下面的惩罚,只有输4才行,其他的都提示输入错误。稍微改了下,可以一直输分数。我是小白,按自己想法写的,大佬勿喷
[Java] 纯文本查看 复制代码
import java.util.Random;
import java.util.Scanner;
public class MomSeesBeaten {
    public static void main(String[] args) {
        int[] arr = new int[3];
        boolean b=true;
        while(b){
        Scanner sc = new Scanner(System.in);
        System.out.println("本程序仅供娱乐,请给祖国的花朵多一点点爱!!!");
        System.out.println("输入任意的数字按键并按下回车开始"+" "+"输入0退出程序");
        int num=sc.nextInt();
        if (num!=0){
        System.out.println("***程序指定科目为:语 数 外 ;单门成绩满分指定成绩为 100 分;总分为: 300 分***");
        for (int i = 0; i < arr.length; i++) {
            System.out.println("请输入第 " + (i + 1) + " 门成绩");
            int score = sc.nextInt();
            if (score > 0 && score <= 100) {
                arr[i] = score;
            } else {
                System.out.println("您输入的成绩不正确,请检查成绩并重新输入!");
                i--;
            }
        }
        int sum = 0;
//        遍历数组 数据相加求和
        for (int i = 0; i < arr.length; i++) {
            sum += arr[i];
        }
        System.out.println("您这次考试的成绩总分数为:" + sum + " 分");
        if (sum >= 270) {
            System.out.println("这次的考试成绩分数很好,奖励 ” *** “ ,希望下次继续努力!!");
            System.out.println("\n\n");
        }else if (sum < 270 && sum >= 240) {
            System.out.println("这次考试成绩不错,奖励 ” *** “ ,希望下次继续努力!!");
            System.out.println("\n\n");
        }else if (sum < 240 && sum >= 210) {
            System.out.println("这次考试成绩还行,奖励 ” *** “ ,希望下次更上一层楼!!");
            System.out.println("\n\n");
        }else if (sum < 210 && sum > 180) {
            System.out.println("这次考试成绩将就,奖励呢就没有了,惩罚呢也没有 ,希望下次不是这个结果!!");
            System.out.println("\n\n");
        }else {
            System.out.println("在下面的惩罚中选择一个,结束这混蛋的成绩");
            System.out.println("1、竹笋炒肉  2、笋子炒肉 3、笋子熬肉 4、让程序帮你选个,并在下面输入 4 进行自动选择!!");
            boolean a=true;
            while (a) {
                int ss = sc.nextInt();
                String[] st = new String[3];
                st[0] = "1、竹笋炒肉 ";
                st[1] = "2、笋子炒肉 ";
                st[2] = "3、笋子熬肉 ";
                switch (ss) {
                    case 4:
                        Random ran = new Random();
                        int nextlnt = ran.nextInt(3);
                        System.out.println("恭喜您,这次你选到的奖励为:" + st[nextlnt]);
                        System.out.println("\n\n");
                        System.out.println("老哥,打完的话听弟一句劝,打重了,可能老了以后伤风感冒就得吃席了!!!");
                        a = false;
                        break;
                    default:
                        if(ss>4){
                            System.out.println("您的输入错误请重新选择");
                            a = true;
                        }else{
                            System.out.println("恭喜您,这次你选到的奖励为:" + st[ss-1]);
                            System.out.println("\n\n");
                            System.out.println("老哥,打完的话听弟一句劝,打重了,可能老了以后伤风感冒就得吃席了!!!");
                            a = false;
                        }
                        }
                    }
                }
            }else{
            b=false;}
        }
    }
}
 楼主| Twinkling 发表于 2021-10-6 16:05
 楼主| Twinkling 发表于 2021-10-6 16:08
无字情书 发表于 2021-10-6 11:35
判断分数那边 跟下面的惩罚那里有BUG,分数那边不管多少分都会走到下面的惩罚。下面的惩罚,只有输4才行, ...

谢谢呀!刚学没几天,想着做个练习试试,就这几十行从晚上做到半夜,没有考虑到那么全面!您的建议很好,谢谢!
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 14:35

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表