`
hxquicl
  • 浏览: 2905 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

考试题目的思考方式错误

    博客分类:
  • java
阅读更多

题目:有两个动物,一只猴子,一头大象,

            两种水果,香蕉和桃子,

            猴子吃到好的桃子笑哈哈,吃到坏的哭起来.

            吃到好的香蕉跳起来,吃到坏的香蕉扔掉香蕉,

           大象不吃桃子,

           大象吃到好的香蕉翘鼻子,

           吃到坏的香蕉吐出来

 

 

正常来说应该是用继承来写这道题,能方便拓展。

public class Last {

 

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);

System.out.println("欢迎来到动物园,您想喂猴子还是大象:\n 1 猴子  2 大象");

int dw = sc.nextInt();

 

System.out

.println("欢迎来到动物园,您想喂什么水果:\n 1 好的桃子  2 坏的桃子 \n 3 好的香蕉 4 坏的香蕉");

int num = sc.nextInt();

动物 dongwu = null;

if (dw == 1) {

dongwu = new 猴子();

} else if (dw == 2) {

dongwu = new 大象();

}

 

水果 sg = null;

if (num == 1) {

sg = new 桃子("好的");

}else if(num==2){

sg = new 桃子("坏的");

}else if(num==3){

sg = new 香蕉("好的");

}else if(num==4){

sg = new 香蕉("坏的");

}

dongwu.吃(sg);

}

 

}

 

class 水果 {

String type;

}

 

class 香蕉 extends 水果 {

public 香蕉(String type) {

this.type = type;

}

}

 

class 桃子 extends 水果 {

public 桃子(String type) {

this.type = type;

}

}

 

class 动物 {

void 吃(水果 sg) {

}

}

 

class 猴子 extends 动物 {

void 吃(水果 sg) {

if (sg instanceof 香蕉) {

if (sg.type.equals("好的")) {

System.out.println("猴子高兴的跳起来");

} else {

System.out.println("猴子扔掉坏的香蕉");

}

} else if (sg instanceof 桃子) {

if (sg.type.equals("好的")) {

System.out.println("猴子高兴的笑哈哈");

} else {

System.out.println("猴子伤心的哭起来");

}

}

}

 

}

 

class 大象 extends 动物 {

void 吃(水果 sg) {

if (sg instanceof 香蕉) {

if (sg.type.equals("好的")) {

System.out.println("翘鼻子");

} else {

System.out.println("吐出来");

}

} else if (sg instanceof 桃子) {

System.out.println("不吃桃子");

 

}

}

}

 

 

但是,考试前学的是try catch,所以当时想学到什么用什么,用的是try catch来写的。

import java.util.Random;

import java.util.Scanner;

 

public class Demo3 {

public static void main(String[] args) {

//String a[]={"好香蕉","好桃子","坏香蕉","坏桃子"};

Random rd = new Random();

//int index1 = rd.nextInt(4);

//int index2 = rd.nextInt(4);

int t = -1;

int x = -1;

int z = -1;

//Demo de = new Demo();

//de.Monkey(a[index1]);

//de.Telephone(a[index2]);

System.out.println("0代表大象,1代表猴子");

Scanner sc1 = new Scanner(System.in); 

System.out.println("选择的动物是:");

do{

try{

// 获得输入的数字

x = sc1.nextInt();

}catch (Exception ex) {

System.out.println("只有大象和猴子两种动物,必须输入0或者1,请重新输入您选择动物代表的数字:");

sc1 = new Scanner(System.in);

continue;

}

 

if(x==0){

        System.out.println("0代表好香蕉,1代表好桃子,2代表坏香蕉,3代表坏桃子");

        Scanner sc = new Scanner(System.in); 

        System.out.println("给大象:");

        do{

 

try {

// 获得输入的数字

t = sc1.nextInt();

} catch (Exception ef) {

System.out.println("必须输入0~3的数字,请重新输入您选择给动物代表食物的数字:");

sc1 = new Scanner(System.in);

continue;

}

if (t==0) {

System.out.println("大象鼻子翘起来");

} else if (t==1) {

System.out.println("大象不吃桃子");

}else if (t==2) {

System.out.println("大象把烂香蕉吐出来");

}else if (t==3) {

System.out.println("大象不吃桃子");

}

} while(t>3||t<0);

}else if(x==1){

       System.out.println("0代表好香蕉,1代表好桃子,2代表坏香蕉,3代表坏桃子");  

       System.out.println("给猴子:");

       Scanner sc2 = new Scanner(System.in); 

       do{

 

try {

// 获得输入的数字

z = sc2.nextInt();

} catch (Exception ef) {

System.out.println("必须输入0~3的数字,请重新输入您选择给动物代表食物的数字:");

sc2 = new Scanner(System.in);

continue;

}

if (t==0) {

System.out.println("猴子跳起来");

} else if (t==1) {

System.out.println("猴子笑哈哈");

}else if (t==2) {

System.out.println("猴子把烂香蕉扔掉出来");

}else if (t==3) {

System.out.println("猴子哭出来");

}

} while(t>3||t<0);

}

}while(x>1||x<0);

}

 

 

用这个方法写,可以是可以,但是写成功后,自己也发现这个方法很麻烦,一不小心就容易出错,而且要经行拓展的话很麻烦,完全没有继承方法的好,这也是一个思想方式,但是还是要用简单简洁的方式才会更好,以后遇见类似问题也需要自己的用到继承这种简单方便拓展的方式!

分享到:
评论

相关推荐

    2016年数字逻辑期末考试题目及复习笔记

    《数字逻辑期末考试题目及复习笔记》是一份珍贵的学习资源,专为准备2016年数字逻辑课程期末考试的学生而设。这份资料包含了手写解答的考试题目,旨在帮助学生深入理解数字逻辑的核心概念,并掌握解题技巧,从而在...

    浙大计算机类考研上机考试题目

    【标题】:“浙大计算机类考研上机考试题目”涵盖了浙江大学计算机学院与软件学院的考研上机考试内容,这是对考生编程能力、算法理解及问题解决能力的综合考核。 【描述】:描述中提到,这份资料包含详尽的答案与...

    北大青鸟S1考试题目

    【北大青鸟S1考试题目】是针对北大青鸟教育机构S1阶段学员的一系列考试题目,涵盖了计算机基础知识、编程入门、网络技术等IT领域的核心知识点。这些试题旨在检验学员在学习初期对IT知识的理解与掌握程度,为后续的...

    大一心理课考试考试题目.pdf

    在此情况下,我只能假设这是一份心理学课程的考试题目文档,但由于具体题目内容缺失,无法按照要求生成详细的IT知识点。 为了给您提供示例,假设文档内容是关于心理学考试的,我将基于心理学考试可能涉及的知识点给...

    南航计算思维导论,考试rapter题目

    5. 审题仔细,理解题目要求,避免因为误解题目而导致的错误。 6. 调试和优化代码,确保代码的效率和正确性,以满足Rapter可能设定的性能指标。 总的来说,南航计算思维导论的Rapter考试是一个结合了理论知识与实践...

    S1结业考试上机题目和答案

    【S1结业考试上机题目与答案解析】 在学习信息技术的过程中,上机考试是检验学生实际操作能力和理论知识结合的重要环节。S1结业考试的上机部分,旨在考核学员对基本计算机知识、编程基础、网络应用以及操作系统等...

    腾讯编程马拉松考试题目-马虎的龙哥、照片评级、图形匹配

    ### 腾讯编程马拉松考试题目解析 #### 题目一:马虎的龙哥 **背景**:在一场采用积分制的腾讯杯足球比赛中,由于记分员龙哥的疏忽,导致某场比赛结果记录错误,进而影响了最终冠军的确定。规则规定,胜利者得3分,...

    Python期末考试题 Python程序设计考试题 Python编程期末测评题目 共22页

    Python编程期末考试通常旨在检验学生的编程能力、逻辑思维以及对Python语言特性的理解。通过选择题、填空题、程序理解题、程序填空题和程序设计题的组合,可以全面评估学生的编程技能和问题解决能力。对于教师来说,...

    高考英语口语考试题目.pdf

    高考口语考试题目多样,涉及日常生活、个人喜好、未来规划、文化习惯等多个话题。例如,考生可能被问到周末通常做什么、最喜欢的高中老师是谁及其原因、对中学生活的感受等。此外,还涉及到电影明星、志愿者工作、...

    C语言考试题目集合终极缩减版(好东西要分享).pdf

    本次分析的文件内容是一份关于C语言的考试题目集合,包含了多个方面的问题。下面我将从这些题目中提取并详细解释相关的知识点。 1. 关于变量和算术表达式: - 问题涉及基本的C语言数据类型,如整型(int)、字符型...

    高考英语口语考试题目 .doc

    考试题目涵盖广泛,涉及个人喜好、日常活动、学校生活、未来规划、科技影响、社会现象等多个方面,例如: - 描述周末活动、高中最喜欢的老师及其原因、对中学生活的感受。 - 讨论最喜欢的电影明星、是否愿意做志愿...

    逻辑学考试题目和答案.pdf

    在逻辑学考试中,常见的题目类型包括填空题、选择题、问答题等,这些题目旨在测试考生对逻辑基本概念、推理规则以及逻辑错误的理解。 1. **填空题**: - 逻辑常项是构成逻辑判断不变的部分,如“有的…不是…”; ...

    文案写作考试题目及答案试题-副本(3).doc

    文案写作考试题目及答案试题-副本(3).doc

    2021年6月 中国电子学会青少年软件编程等级考试(图形化Scratch一级) - 真题

    考试题目分析 1. 单选题的分析:对题目进行详细分析,选择正确的答案。 2. 判断题的分析:判断题目是否正确,如果正确返回 True,否则返回 False。 3. 编程题的分析:根据题目要求,设计和编写 Scratch 程序来实现...

    C语言2级考试题有题目没答案

    对于每个题目,考生应深入思考其背后的原理,通过解题锻炼逻辑思维能力和问题解决能力。同时,没有答案的题目也提供了自我检查和讨论的机会,可以促进团队学习和相互交流。在备考过程中,结合教材、教程和实践编程,...

    S1结业考试上机题目和答案6(强)

    6. **调试与测试**:题目可能包含错误代码,要求学生找出并修复错误,同时,对程序进行有效的测试以确保其正确性。 7. **程序设计模式**:虽然对于S1阶段的学生来说,可能不会深入到设计模式,但基础的模块化编程...

    2019广东农商银行农信社校园招聘考试题目模拟试题(五十九)答案解析.docx

    2019广东农商银行农信社校园招聘考试题目模拟试题答案解析 本文档是2019广东农商银行农信社校园招聘考试题目模拟试题的答案解析,旨在帮助考生顺利通过考试。下面是模拟试题答案的详细解析: 1. 答案:C 解析:本...

    算法与程序设计考试题目.rar

    压缩包文件“算法与程序设计考试题目.rar”内包含的“算法与程序设计考试题目.pdf”,很可能是为学生准备的一次考核,旨在测试他们对算法理解和程序设计的实际应用。 算法是计算机科学的灵魂,它是一系列详细的步骤...

    湖南省计算机国家二级考试程序设计题目精选.pdf

    湖南省计算机国家二级考试程序设计题目精选.pdf 是一份关于计算机程序设计的考试题目集锦,涵盖了多种程序设计问题和解决方法。通过对这些题目的分析和解答,可以总结出以下几个关键知识点: 1. 程序设计基础:本...

Global site tag (gtag.js) - Google Analytics