Java程序设计第二课

Java程序设计第二课

 复习

  1. 输入

第一步骤:获取输入设备 Scanner

  第二步骤:获取内容:  next()获取空格分隔的字符串,nextLine获取一行字符串

(2)打印输出:

   System.out.println()

   字符串拼接:   注意:  变量名不用加双引号  其他输出用双引号引起来即可

变量名:理解成输出其字母定义的未知数其中的内容.

变量名命名: 字母 数字 符号(下划线,美元符号),

   注意:变量名不能定义数字作首字母

         美元符号也不能做首字母

(3)随机

Math类 round四舍五入

       Random()产生[0,1)之间的随机数  区间:左闭右开

程序设计:

顺序结构(程序逻辑流程)

选择结构(if条件): 发生在用户参与互动,选择性选择输出内容,根据内容的不同做不同的操作

程序:

简易考试系统

流程(基本功能,不能检查)

  1. 用户输入  准考证号  姓名
  2. 进入考试界面(1----数学,2----英语两门课)
  3. 用户输入数学或者语文的代表数字
  4. 系统出题(暂时题是固定的)
  5. 用户输入答案,判断答案,对加10分,错不加分
  6. 限定每个科目中两个题, 最后输出用户的考试成绩

后面开发:在基本功能上面进行优化

第一步: 用户输入  准考证号  姓名

输入设备 Scanner(一个, 不考虑多人参考)条件:同一时刻只有一人参加考试

接收准考证号 姓名(先不考虑准考证号和姓名的合法性)   

输出:最终输出:考生XXXX,姓名xXXX的成绩是:XXXXX  

第二步:进入考试界面(1----数学,2----英语两门课)

需要有用户选择,命令行条件下用菜单

第三步:用户输入数学或者语文的代表数字

只需一个输入设备,否则浪费系统资源 (前面变量会走在这里)

接收数据

第四步: 系统出题(暂时题是固定的)

显示题目界面 A B C D

第五步:用户输入答案,判断答案,对加10分,错不加分

If语句判断条件,对加分

第六步:限定每个科目中两个题, 最后输出用户的考试成绩

最后输出成绩(成绩是一个变量) 如果用户答对,变量成绩加分  

变量指的是在程序的执行过程中是变化的量

变量在用户答对的时候就要加分

Java注意: 强语言类型,只要有变量,定义类型

考虑从程序开始到程序结尾变量(全局,这些变量定义好不能重名)

成绩: sum   类型:  int  整型

输出姓名,考号  姓名 name  考号 no

保证只有一个输入设备,Scanner只有一个 input

编程

先把这些全局变量写好

后面的程序使用变量

开发:

对程序做功能上的改进(找bug)

  1. 输入准考证号,姓名

准考证号和姓名都是字符串, 字符串极端:第一个是空, 第二个” “ 

目前输入符号和数字,基本可以过去

限定条件: 准考证号不能出现符号~!#$%^&*()_+-={}[]\|”:’;><,.`

把这些符号定义成字符串,判断用户输入内容是否有其中的内容,如果有,报“非法用户,然后退出”。  

indexOf 表示字符中是否有这样的字符串,如果存在输出>=0的数字,如果不存在输出-1

  1. 输入课程选择

不会接收错误

  1. 输入答案

考虑问题:字符串中的next不接受空格,如果使用nextLine需要考虑用户输入后面的空格(也就是字符串极端中的第二情况;控制台只输入一个空格)

这里的name,no,sum是由程序中开发者控制,出现计算方面错误.

只有Scanner的接收用户参与。

import java.util.Scanner;
 
public class MyTestt {
  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();
      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+3=");
          System.out.println("A、3  B、4  C、5  D、1");
          //5. 用户输入答案,对的加10分,不对不加分
          String ans1=scanner.next();
          //以为错了不加分,所以不需要else
          //转大写toUpperCase
          if (ans1.toUpperCase().equals("B")){
              sum=sum+10;
          }
          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;
          }
          System.out.println("10+9=");
          System.out.println("A、9   B、10   C、算不出来   D、19");
          String ans3=scanner.next();
          if(ans3.toUpperCase().equals("D")){
              //选择正确加分,把sum变量加上10分,再给sum变量
              sum=sum+10;
          }
          System.out.println("6+9=");
          System.out.println("A、6   B、15   C、算不出来   D、9");
          String ans4=scanner.next();
          if(ans4.toUpperCase().equals("B")){
              //选择正确加分,把sum变量加上10分,再给sum变量
              sum=sum+10;
          }
          System.out.println("7+9=");
          System.out.println("A、7   B、16   C、算不出来   D、9");
          String ans5=scanner.next();
          if(ans5.toUpperCase().equals("B")){
              //选择正确加分,把sum变量加上10分,再给sum变量
              sum=sum+10;
          }
          System.out.println("1+1=");
          System.out.println("A、4   B、2   C、算不出来   D、不确定");
          String ans6=scanner.next();
          if(ans6.toUpperCase().equals("B")){
              //选择正确加分,把sum变量加上10分,再给sum变量
              sum=sum+10;
          }
          System.out.println("2+0=");
          System.out.println("A、4   B、2   C、算不出来   D、不确定");
          String ans7=scanner.next();
          if(ans7.toUpperCase().equals("B")){
              //选择正确加分,把sum变量加上10分,再给sum变量
              sum=sum+10;
          }
          System.out.println("21+2=");
          System.out.println("A、21   B、23   C、算不出来   D、不确定");
          String ans8=scanner.next();
          if(ans8.toUpperCase().equals("B")){
              //选择正确加分,把sum变量加上10分,再给sum变量
              sum=sum+10;
          }
          System.out.println("2+Π=");
          System.out.println("A、4   B、2   C、算不出来   D、不确定");
          String ans9=scanner.next();
          if(ans9.toUpperCase().equals("C")){
              //选择正确加分,把sum变量加上10分,再给sum变量
              sum=sum+10;
          }
          System.out.println("2±5=");
          System.out.println("A、4   B、2   C、算不出来   D、不确定");
          String ans10=scanner.next();
          if(ans10.toUpperCase().equals("D")){
              //选择正确加分,把sum变量加上10分,再给sum变量
              sum=sum+10;
          }
          System.out.println("2*2=");
          System.out.println("A、4   B、2   C、算不出来   D、不确定");
          String ans11=scanner.next();
          if(ans11.toUpperCase().equals("A")){
              //选择正确加分,把sum变量加上10分,再给sum变量
              sum=sum+10;
          }
          System.out.println("2*9=");
          System.out.println("A、18   B、11   C、算不出来   D、不确定");
          String ans12=scanner.next();
          if(ans12.toUpperCase().equals("A")){
              //选择正确加分,把sum变量加上10分,再给sum变量
              sum=sum+10;
          }
          System.out.println("3+9-8=");
          System.out.println("A、3   B、4   C、算不出来   D、不确定");
          String ans13=scanner.next();
          if(ans13.toUpperCase().equals("B")){
              //选择正确加分,把sum变量加上10分,再给sum变量
              sum=sum+10;
          }
          System.out.println("2-(3+4)=");
          System.out.println("A、-5   B、3   C、算不出来   D、不确定");
          String ans14=scanner.next();
          if(ans14.toUpperCase().equals("A")){
              //选择正确加分,把sum变量加上10分,再给sum变量
              sum=sum+10;
          }
          System.out.println("3*Π+7");
          System.out.println("A、4   B、2   C、算不出来   D、不确定");
          String ans15=scanner.next();
          if(ans15.toUpperCase().equals("C")){
              //选择正确加分,把sum变量加上10分,再给sum变量
              sum=sum+10;
          }
          System.out.println("2+3=");
          System.out.println("A、4   B、5   C、算不出来   D、不确定");
          String ans16=scanner.next();
          if(ans16.toUpperCase().equals("B")){
              //选择正确加分,把sum变量加上10分,再给sum变量
              sum=sum+10;
          }
          System.out.println("2+5=");
          System.out.println("A、4   B、7   C、算不出来   D、不确定");
          String ans17=scanner.next();
          if(ans17.toUpperCase().equals("B")){
              //选择正确加分,把sum变量加上10分,再给sum变量
              sum=sum+10;
          }
          System.out.println("2-6=");
          System.out.println("A、4   B、-2   C、算不出来   D、不确定");
          String ans18=scanner.next();
          if(ans18.toUpperCase().equals("B")){
              //选择正确加分,把sum变量加上10分,再给sum变量
              sum=sum+10;
          }
          System.out.println("3*8=");
          System.out.println("A、24   B、2   C、算不出来   D、不确定");
          String ans19=scanner.next();
          if(ans19.toUpperCase().equals("A")){
              //选择正确加分,把sum变量加上10分,再给sum变量
              sum=sum+10;
          }
          System.out.println("2*9=");
          System.out.println("A、18   B、2   C、算不出来   D、不确定");
          String ans20=scanner.next();
          if(ans20.toUpperCase().equals("A")){
              //选择正确加分,把sum变量加上10分,再给sum变量
              sum=sum+10;
          }
 
          System.out.println("学号:"+no+",姓名:"+name+",成绩为:"+sum);
      }else if(select_no.equals("2")){
          System.out.println("this is _  apple.");
          System.out.println("A、a   B、an   C、the   D、/");
          String ans1=scanner.next();
          //考虑对英文字母的问题,一定考虑用户输入的大小写问题.toLowerCase()引入的目的确防止用户输入字母的大小写
          //因为答案错误就不加分,所以if没有else
          if(ans1.toUpperCase().equals("B")){
              //选择正确加分,把sum变量加上10分,再给sum变量
              sum=sum+10;
          }
          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;
          }
          System.out.println("____me, please");
          System.out.println("A、 Listen B、 say C、 Listen to D、 talk");
          //答案也可以再复制,复制后修改一下变量名,答案选择不同的变量,防止最后做修改,加检查功能,你的答案变量还存在
          String ans3=scanner.next();
          //继续判断
          if(ans3.toUpperCase().equals("D")){
              //选择正确加分,把sum变量加上10分,再给sum变量
              sum=sum+10;
          }
          System.out.println("Would you like _____tea?");
          System.out.println("A. some B. a C. any D. many");
          //答案也可以再复制,复制后修改一下变量名,答案选择不同的变量,防止最后做修改,加检查功能,你的答案变量还存在
          String ans4=scanner.next();
          //继续判断
          if(ans4.toUpperCase().equals("D")){
              //选择正确加分,把sum变量加上10分,再给sum变量
              sum=sum+10;
          }
          System.out.println("Don't _____late next time!");
          System.out.println("A. is B. are C. be D./");
          //答案也可以再复制,复制后修改一下变量名,答案选择不同的变量,防止最后做修改,加检查功能,你的答案变量还存在
          String ans5=scanner.next();
          //继续判断
          if(ans5.toUpperCase().equals("B")){
              //选择正确加分,把sum变量加上10分,再给sum变量
              sum=sum+10;
          }
          System.out.println("Oh, it's ____. How are you?");
          System.out.println("A. you B. your C. yours D. he");
          //答案也可以再复制,复制后修改一下变量名,答案选择不同的变量,防止最后做修改,加检查功能,你的答案变量还存在
          String ans6=scanner.next();
          //继续判断
          if(ans6.toUpperCase().equals("B")){
              //选择正确加分,把sum变量加上10分,再给sum变量
              sum=sum+10;
          }
          System.out.println("How do you _____Tuesday? ");
          System.out.println("A. say B. speak C. talk D. spell");
          //答案也可以再复制,复制后修改一下变量名,答案选择不同的变量,防止最后做修改,加检查功能,你的答案变量还存在
          String ans7=scanner.next();
          //继续判断
          if(ans7.toUpperCase().equals("D")){
              //选择正确加分,把sum变量加上10分,再给sum变量
              sum=sum+10;
          }
          System.out.println("Are they from ____?");
          System.out.println("A. Australian B. English C. American D. I dont no");
          //答案也可以再复制,复制后修改一下变量名,答案选择不同的变量,防止最后做修改,加检查功能,你的答案变量还存在
          String ans8=scanner.next();
          //继续判断
          if(ans8.toUpperCase().equals("D")){
              //选择正确加分,把sum变量加上10分,再给sum变量
              sum=sum+10;
          }
          System.out.println("You can _____she likes bananas a lot.");
          System.out.println("A. look B. watch C. see D. to see");
          //答案也可以再复制,复制后修改一下变量名,答案选择不同的变量,防止最后做修改,加检查功能,你的答案变量还存在
          String ans9=scanner.next();
          //继续判断
          if(ans9.toUpperCase().equals("C")){
              //选择正确加分,把sum变量加上10分,再给sum变量
              sum=sum+10;
          }
          System.out.println("It's very nice ______meet you.");
          System.out.println("A. to B. for C. of D./");
          //答案也可以再复制,复制后修改一下变量名,答案选择不同的变量,防止最后做修改,加检查功能,你的答案变量还存在
          String ans10=scanner.next();
          //继续判断
          if(ans10.toUpperCase().equals("A")){
              //选择正确加分,把sum变量加上10分,再给sum变量
              sum=sum+10;
          }
          System.out.println(".Is the blue cup yours ______ mine?");
          System.out.println("A. and B. but C. for D. or");
          //答案也可以再复制,复制后修改一下变量名,答案选择不同的变量,防止最后做修改,加检查功能,你的答案变量还存在
          String ans11=scanner.next();
          //继续判断
          if(ans11.toUpperCase().equals("D")){
              //选择正确加分,把sum变量加上10分,再给sum变量
              sum=sum+10;
          }
          System.out.println("The car is ______full ______ move.");
          System.out.println("A. too...too B. to...too C. too...to D. to...to");
          //答案也可以再复制,复制后修改一下变量名,答案选择不同的变量,防止最后做修改,加检查功能,你的答案变量还存在
          String ans12=scanner.next();
          //继续判断
          if(ans12.toUpperCase().equals("C")){
              //选择正确加分,把sum变量加上10分,再给sum变量
              sum=sum+10;
          }
          System.out.println("Jim, please come______.");
          System.out.println("A. there B. to here C. to home D. here");
          //答案也可以再复制,复制后修改一下变量名,答案选择不同的变量,防止最后做修改,加检查功能,你的答案变量还存在
          String ans13=scanner.next();
          //继续判断
          if(ans13.toUpperCase().equals("D")){
              //选择正确加分,把sum变量加上10分,再给sum变量
              sum=sum+10;
          }
          System.out.println(".I'd like ______ a cup of tea.");
          System.out.println("A. to eat B. to drink C. eat D. drink");
          //答案也可以再复制,复制后修改一下变量名,答案选择不同的变量,防止最后做修改,加检查功能,你的答案变量还存在
          String ans14=scanner.next();
          //继续判断
          if(ans14.toUpperCase().equals("B")){
              //选择正确加分,把sum变量加上10分,再给sum变量
              sum=sum+10;
          }
          System.out.println("Thanks very much.---______");
          System.out.println("A. No thanks B. All right C. You're welcome D. you, too");
          //答案也可以再复制,复制后修改一下变量名,答案选择不同的变量,防止最后做修改,加检查功能,你的答案变量还存在
          String ans15=scanner.next();
          //继续判断
          if(ans15.toUpperCase().equals("C")){
              //选择正确加分,把sum变量加上10分,再给sum变量
              sum=sum+10;
          }
          System.out.println("Can he ______a bike?");
          System.out.println("A. to ride B. rides C. riding D. ride");
          //答案也可以再复制,复制后修改一下变量名,答案选择不同的变量,防止最后做修改,加检查功能,你的答案变量还存在
          String ans16=scanner.next();
          //继续判断
          if(ans16.toUpperCase().equals("D")){
              //选择正确加分,把sum变量加上10分,再给sum变量
              sum=sum+10;
          }
          System.out.println("_____are they? They are at home.");
          System.out.println("A. What B. How C. Who D. Where");
          //答案也可以再复制,复制后修改一下变量名,答案选择不同的变量,防止最后做修改,加检查功能,你的答案变量还存在
          String ans17=scanner.next();
          //继续判断
          if(ans17.toUpperCase().equals("D")){
              //选择正确加分,把sum变量加上10分,再给sum变量
              sum=sum+10;
          }
          System.out.println("he often gets ______ late.");
          System.out.println("A. to home B. home C. to here D. to there");
          //答案也可以再复制,复制后修改一下变量名,答案选择不同的变量,防止最后做修改,加检查功能,你的答案变量还存在
          String ans18=scanner.next();
          //继续判断
          if(ans18.toUpperCase().equals("B")){
              //选择正确加分,把sum变量加上10分,再给sum变量
              sum=sum+10;
          }
          System.out.println("Don't______late for class.");
          System.out.println("A. to be B./ C. can't D. be");
          //答案也可以再复制,复制后修改一下变量名,答案选择不同的变量,防止最后做修改,加检查功能,你的答案变量还存在
          String ans19=scanner.next();
          //继续判断
          if(ans19.toUpperCase().equals("D")){
              //选择正确加分,把sum变量加上10分,再给sum变量
              sum=sum+10;
          }
          System.out.println("______is this pen?");
          System.out.println("A. How much B. How many C. What D. Who's");
          //答案也可以再复制,复制后修改一下变量名,答案选择不同的变量,防止最后做修改,加检查功能,你的答案变量还存在
          String ans20=scanner.next();
          //继续判断
          if(ans20.toUpperCase().equals("A")){
              //选择正确加分,把sum变量加上10分,再给sum变量
              sum=sum+10;
          }
          //7、最后输出成绩
          System.out.println("学号:"+no+",姓名:"+name+",成绩为:"+sum);
      }else{
          System.out.println("你选择了退出考试,没有参加任何一门课程的考试");
      }
  }
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值