趣味测试入门java程序2

import java.util.Scanner;

public class MyTestt_modify {
    public static void main(String[] args) {
        //根据流程分析,先定义变量
        //第一个变量:输出设备
        Scanner scanner=new Scanner(System.in);
        //第二个变量:姓名,考号,不清楚的变量内容只写类型+变量名,防止输出报错,赋初始值,这里的初始值为空""
        String name="";
        String no="";
        //第三个变量: 成绩,对于成绩,如果用户一个没有答对,就是0分,需要初始值
        int sum=0;
        //正式进入程序流程
//        输出语句是一个提示:1、 用户输入  准考证号  姓名 准考证号变量前面有,姓名变量前面有,前面没有名称随意
        System.out.println("请输入准考证号");
        no=scanner.next();
        //在java 数值中等于==,不等使用!=,任何字符只要有一个就报错,这里用或,目前只不允许3个符号
        if ( (no.indexOf("~")==-1) && (no.indexOf("!")==-1) && (no.indexOf("#")==-1)) {
            //程序结束,后面没有代码才结束,后面有代码是不能结束的,把思维反向,三个符号一个都没有,就进行程序

            System.out.println("请输入姓名");
            name = scanner.next();
//        2、   进入考试界面(1----数学,2----英语两门课)这种格式是命令行菜单
            System.out.println("************************************");
            System.out.println("          考  试  系  统 ");
            System.out.println(" 1--------------数学");
            System.out.println(" 2--------------英语");
            System.out.println("************************************");
//        3、   用户输入数学或者语文的代表数字,这里也接收数字的变量,这里没有全局
            System.out.println("请选择考试科目对应的序号:");
            String select_no = scanner.next();
            //判断用户选择的序号内容,因为是字符串,等于使用equals,如果是数值,直接使用双等,字符串一定加双引号
            if (select_no.equals("1")) {
                //        4、   系统出题(暂时题是固定的),限定选择题
                System.out.println("1+1=");
                System.out.println("A、1   B、2   C、算不出来   D、不确定");
                //        5、   用户输入答案,判断答案,对加10分,错不加分
                String ans1 = scanner.next();
                //考虑对英文字母的问题,一定考虑用户输入的大小写问题.toLowerCase()引入的目的确防止用户输入字母的大小写
                //转大写 toUpperCase
                //因为答案错误就不加分,所以if没有else
                if (ans1.toUpperCase().equals("B")) {
                    //选择正确加分,把sum变量加上10分,再给sum变量
                    sum = sum + 10;
                }
                //        6、   限定每个科目中两个题,
                //再定义另外一个题,先不考虑优化(重码率),把上面考题复制一份
                System.out.println("2+2=");
                System.out.println("A、4   B、2   C、算不出来   D、不确定");
                //答案也可以再复制,复制后修改一下变量名,答案选择不同的变量,防止最后做修改,加检查功能,你的答案变量还存在
                String ans2 = scanner.next();
                //继续判断
                if (ans2.toUpperCase().equals("A")) {
                    //选择正确加分,把sum变量加上10分,再给sum变量
                    sum = sum + 10;
                }
                //7、最后输出成绩
                System.out.println("学号:" + no + ",姓名:" + name + ",成绩为:" + sum);
            } else if (select_no.equals("2")) {
                //        4、   系统出题(暂时题是固定的)
                //        5、   用户输入答案,判断答案,对加10分,错不加分
                //        6、   限定每个科目中两个题, 最后输出用户的考试成绩
                //题不同,逻辑相同
                //        4、   系统出题(暂时题是固定的),限定选择题
                System.out.println("this is _  apple.");
                System.out.println("A、a   B、an   C、the   D、/");
                //        5、   用户输入答案,判断答案,对加10分,错不加分
                String ans1 = scanner.next();
                //考虑对英文字母的问题,一定考虑用户输入的大小写问题.toLowerCase()引入的目的确防止用户输入字母的大小写
                //因为答案错误就不加分,所以if没有else
                if (ans1.toUpperCase().equals("B")) {
                    //选择正确加分,把sum变量加上10分,再给sum变量
                    sum = sum + 10;
                }
                //        6、   限定每个科目中两个题, 最后输出用户的考试成绩
                //再定义另外一个题,先不考虑优化(重码率),把上面考题复制一份
                System.out.println("I play _ piano");
                System.out.println("A、a   B、an   C、the   D、/");
                //答案也可以再复制,复制后修改一下变量名,答案选择不同的变量,防止最后做修改,加检查功能,你的答案变量还存在
                String ans2 = scanner.next();
                //继续判断
                if (ans2.toUpperCase().equals("C")) {
                    //选择正确加分,把sum变量加上10分,再给sum变量
                    sum = sum + 10;
                }
                //7、最后输出成绩
                System.out.println("学号:" + no + ",姓名:" + name + ",成绩为:" + sum);
            } else {
                System.out.println("你选择了退出考试,没有参加任何一门课程的考试");
            }
            //因为if中的else有一个结束的语句,后面不要再有语句
            //考号判断合理的结束
        }
        //底部必须有两个大括号,程序调整都在两个大括号前
    }
}
  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值