zoukankan      html  css  js  c++  java
  • Java入门——day14

    一、今日学习

    1.综合实例

    试卷选择题

     1 package com.wuzy;
     2 import java.util.Arrays;
     3 import java.util.Scanner;
     4 /**选择题*/
     5 class Question {
     6     /** 题干*/
     7     String text;
     8     /** 选项 */
     9     String[] options;
    10     /** 打印当前题目*/
    11     public void print() {
    12         System.out.println(this.text);
    13         for(int i=0;i<this.options.length;i++) {
    14             System.out.print(options[i]+"\t");
    15         }
    16         System.out.println();
    17     }
    18     /**检查答案*/
    19     public boolean check(char[] answers) {
    20         return false;
    21     }
    22 }
    23 /**单选题继承于选择题,单选题会继承选择题的属性和方法*/
    24 class SingleQuestion extends Question{
    25     /**唯一的单选标准答案*/
    26     char answer;
    27     /**构建一个单选题实例,依赖:题干,选项和一个标准答案*/
    28     public SingleQuestion(String text,String[] options,char answer) {
    29         this.text=text;
    30         this.options=options;
    31         this.answer=answer;
    32     }
    33     /**覆盖父类型的方法,提供具体的检查答案的过程*/
    34     public boolean check(char[] answers) {
    35         if(answers==null||answers.length!=1)
    36             return false;
    37         return this.answer==answers[0];
    38     }
    39 }
    40 /**多项选择题*/
    41 class MultiQuestion extends Question{
    42     /**多选题标准答案*/
    43     char[] answers;
    44     public MultiQuestion(String text,String[] options,char[] answers) {
    45         this.text=text;
    46         this.options=options;
    47         this.answers=answers;
    48     }
    49     /**覆盖检查答案的方法,实现多选题的具体检查用户答案逻辑*/
    50     public boolean check(char[] answers) {
    51         return Arrays.equals(answers, this.answers);
    52     }
    53 }
    54 
    55 public class PaperDemo {
    56     public static void main(String[] args) {
    57         //paper考卷,是选择题的集合(数组)
    58         Question[] paper= {null,null};
    59         paper[0]=new SingleQuestion("如何买火车票靠谱?",new String[]{"A.电话","B.网上","C.黄牛","D.画的"},'A');
    60         paper[1]=new MultiQuestion("哪几位是歌手?",new String[] {"A.刘德华","B.张学友","C.郭富城","D.孙悟空"},new char[] {'A','B','C'});
    61         Scanner console=new Scanner(System.in);
    62         for(int i=0;i<paper.length;i++) {
    63             Question q=paper[i];
    64             q.print(); //打印试卷
    65             System.out.print("请选择:");
    66             String str=console.nextLine(); //等待用户答案
    67             char[] answers=str.toCharArray(); //转化答案为数组
    68             if(q.check(answers)) {
    69                 System.out.println("给力呀!");
    70             }else {
    71                 System.out.println("亲,要努力呀!");
    72             }
    73         }
    74         }
    75 }

    二、遇到问题

    1.警告:The value of the local variable q is not used

    查阅发现,编译器是实时判断代码是否有错的,当写到目前这个对象创建的语句时,如果还没有对这个对象进行操作,编译器认为这是浪费内存的行为,所以给出警告,如果在后续的代码中如果用到了这个对象的话,这个警告就会消失。

    2.写了mian函数却仍然报错

    三、明日学习

    练习四五章

  • 相关阅读:
    python excel导入到数据库
    ubuntu14.04修改mysql默认编码
    python 向MySQL里插入中文数据
    hbase框架原理
    hive框架原理
    Hadoop的MapReduce模型基本原理
    机器学习模型效果评价
    spark架构原理
    Hadoop架构原理
    特征工程
  • 原文地址:https://www.cnblogs.com/znjy/p/13342052.html
Copyright © 2011-2022 走看看