`
hxquicl
  • 浏览: 2773 次
  • 性别: 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);

}

 

 

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

分享到:
评论

相关推荐

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

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

    华为OD真题&模拟题&相关讲解

    阅读建议:建议考生在备考过程中充分利用提供的真题、模拟题和讲解资源,多做练习,多思考,加强对题目类型和解题技巧的理解和掌握。同时,关注讲解部分,深入分析每道题目的解法,及时纠正错误,不断提升自己的解题...

    大数据技术及应用题库.doc

    斯科特·布朗 13下列演示方式中,不属于传统统计图方式的是(D)。 A、柱形图 B、饼状图 C、曲线图 D、网络图 14当前社会中,最为突出的大数据环境是(A)。 A、互联网 B、物联网 C、综合国力 D、自然资源 15可以对...

    部编人教版六年级道德与法治上册期末考试题及答案【精编】.pdf

    本资源是一个六年级道德与法治上册期末考试题及答案的精编版,总共有五大题目,分别是填空题、选择题、判断题、连线题和简答题。下面我们将详细解释每个题目中的知识点: 一、填空题 1. 当我们思考过去的事情,并...

    【数学】专家支招:实例解析高考数学选择题十大解法.docx

    选择题中的错误支具有两重性,既有干扰的一面,也有可利用的一面,只有通过认真的观察、分析和思考才能揭露其潜在的暗示作用,从而从反面提供信息,迅速作出判断。  由于我多年从事高考试题的研究,尤其对选择题...

    小学语文阅读题解题技巧与方法.doc

    在解答阅读题时,千万不要慌,要静下心来,按照由易到难,由浅入深的思维方式,先从容易的入手,逐渐的打开思路。粗心是学习的大忌,对于语文的阅读理解也不例外。在审题的时候,要像对待数学试题中的数字一样,认真...

    计算机二级C语言考试题预测

    下面的138道题目,在二级考试中命中率极高。 一、选择题 (1) 下面叙述正确的是(C) A. 算法的执行效率与数据的存储结构无关 B. 算法的空间复杂度是指算法程序中指令(或语句)的条数 C. 算法的有穷性是指算法必须能...

    C语言大作业之学生成绩管理系统

    使用动态链表的时候,对于添加个人信息,删除,排序等问题的难度比较大,需要好好思考问题的难点,再去设计算法解决。 功能完善,包含 1、编程软件 2、原题具体内容 3、练习题目 4、联想疑问 5、答辩ppt, 6、源码 7...

    考研数学150分是这样练成的

    这是因为,每个人的出题思路是一定的,重点偏向及难易程度也差不多,做不同人编的题,有助于题型的广泛摄取和把握,只有题型见得多了,思路才能拓展开,而且各种难度的题目也都尝试过了,见到考试卷时才不会有太多...

    2009考研英语万能作文

     研究生入学考试要求学生在规定时间内完成两篇文章,从写作的过程来看,对于每一个给定题目每个考生都会有各种各样的想法,但100字或200字的文章所能容纳的内容是有限的,考生必须迅速思考,尽快进入角色。...

    AIC的Java课程1-6章

     培养和建立面向对象编程的思维方式,可以运用封装、继承和多态三大基本特性编写面向对象的程序。  理解和应用Java异常,常用类,IO,集合和多线程等开发技术。  课时安排  总学时:52学时 ...

    java程序设计实习报告---学生信息管理系统的设计与开发.doc

    1、总体设计 这次java实习设计的学生信息管理系统,是对学生的个人信息,课程信息,成绩信息以 信息化的方式进行管理,最大限度地减少各个环节可能出现的错误,有效减少因人力资 源局限性导致的存储信息量大,信息...

    自己动手写操作系统(含源代码).part2

    我想中国有能力写出内核原型的程序员应该也有,但把这个题目写成一本书,感觉上不会有人愿意做这件事情,作者要花很多时间,加上主题比较硬,销售量不会太高,经济上回报有限。 但拿来文稿一看,整个编辑部大为惊艳...

    自己动手写操作系统(含源代码).part1

    我想中国有能力写出内核原型的程序员应该也有,但把这个题目写成一本书,感觉上不会有人愿意做这件事情,作者要花很多时间,加上主题比较硬,销售量不会太高,经济上回报有限。 但拿来文稿一看,整个编辑部大为惊艳...

Global site tag (gtag.js) - Google Analytics