Java 学习笔记day3

Day3

复习day1:
(1)输入 获取输入设备Scanner
获取内容 :next()或nextline()
(2)打印输出
System.out.println()
(3)随机
Math类 round四舍五入
Random()产生0到1的随机数。 区间左闭右开

做一个简易考试系统
先搞明白系统的流程(基本功能)
1.登录 准考证号 密码
输入设备Scanner (不考虑合法性)
2.考试界面(1.数学、2.英语)
选择科目
3.用户输入数学或者英语的代表数字
4.系统出题
题目ABCD
5.输入答案
if判断条件
6.限定每个科目两个题,输出总分。

初始代码

import java.util.Scanner;
public class TestSystem {
    public static void main(String[] args) {
        //定义变量 第一个变量Scanner
        Scanner scanner= new Scanner(System.in);
        //第二个变量姓名 考号
        String name="Name";
        String no="0000";
        //成绩初始为0
        int Grade=0;
//        1.登录 准考证号 密码
//        输入设备Scanner   (不考虑合法性)
        System.out.println("请输入姓名:");
        name=scanner.next();
        System.out.println("请输入考号");
        no=scanner.next();
//        2.考试界面(1.数学、2.英语)
//        选择科目
        System.out.println("*********************************");
        System.out.println("              考试系统            ");
        System.out.println("          ----1.数学----");
        System.out.println("          ----2.英语----");
        System.out.println("*********************************");
        System.out.println("请选择考试科目的序号:");
        String select_no=scanner.next();
        //判断选择的科目序号,用equals()
        if (select_no.equals("1")){
            //        3.系统出题限定选择题
            System.out.println("第一题:请选择f(x,y)=2x+3y在(0,0)点的对x,对y的偏导数的值");
            System.out.println("A.1,1  B.0,0  C.2,3  D.3,2 ");
            //        4.输入答案
            String ans1=scanner.next();
            if(ans1.equals("C")||ans1.equals("c")){
                Grade+=10;
            }
            System.out.println("第二题:2-6*1/2-(2+1)=");
            System.out.println("A.0  B.-4  C.4  D.-5");
            String ans2=scanner.next();
            if(ans2.equals("B")||ans2.equals("b")){
                Grade+=10;
            }
            //        5.限定每个科目两个题,输出总分。
            System.out.println("你的得分为:"+Grade);
        }else if(select_no.equals("2")){
            //        3.系统出题限定选择题
            System.out.println("第二题:a b c d _ f");
            System.out.println("A.b  B.c  C.d  D.e ");
            //        4.输入答案
            String ans1=scanner.next();
            if(ans1.equals("D")||ans1.equals("d")){
                Grade+=10;
            }
            System.out.println("第二题:Hello ______");
            System.out.println("A.world  B.cosmic  C.hell  D.heaven");
            String ans2=scanner.next();
            if(ans2.equals("A")||ans2.equals("a")){
                Grade+=10;
            }
            //        5.限定每个科目两个题,输出总分。
            System.out.println("你的得分为:"+Grade);
        }else{
            System.out.println("退出考试系统");
        }
    }
}

对程序找bug
1.登录 准考证号 姓名

  • 准考证号和姓名都是字符串 可以为空或者是只是空格
  • 准考证号不能出现特殊符号(~!@#$%^&*()_±=/)把这些符号定义为字符串,判断用户输入内容是否合法
  • 姓名不能含特殊符号

2.考试界面(1.数学、2.英语)
目前不不存在
3.系统出题
目前不存在
4.输入答案

  • 字符串接不接收空格,使用next()无bug,若使用nextLine()则接收空格

5.限定每个科目两个题,输出总分。
目前无bug

Day3完

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值