编辑一个Java问题测试程序怎么写

编辑一个Java问题测试程序怎么写,第1张

是控制台输入吗。为了方便类都写一个里面了。可以参考下

建立一个题目实体(标题、4个选项属性、正确答案)

建立一个结果实体(标题、是否正确结果、选择的答案、正确答案)

建立一个题目list集合,用于存放题目(每个难度对应一个list)

建立一个结果list集合,用于存放作答后的信息

创建对应的题目对象,实体化实体,并且放入对应的list里面

根据选择对应的难度找到对应难度的list集合

然后遍历这个集合,依次显示每个题目的信息,并让用户作答,答完一个显示下一个题目,

获取用户选择的答案,用这个答案跟实体中的正确答案做比较

创建结果实体对象,将比较后的信息set到实体中。(标题、正确结果、选择的答案、正确答案)

将这个结果实体放入到结果list集合中;循环结束后遍历结果list集合显示就可以了。

代码:

import java.util.ArrayList

import java.util.List

import java.util.Scanner

public class SaveLog {

    public static void main(String[] args) {

        Scanner in = new Scanner(System.in)

        // 提示信息

        System.out.println("请输入数字选择题目难度,1:简单,2:困难")

        // 获取到对应难度的题目

        List<Question> questionList = getQuestionByLevel(in.nextInt())

        // 创建结果list

        List<QuestionResult> questionResults = new ArrayList<QuestionResult>()

        // 总答题,正确,错误

        int questionCount = questionList.size()

        int correntCount = 0

        int errorCount = 0

        // 遍历题目

        for (int i = 0 i < questionList.size() i++) {

            // 获取到题目

            Question question = questionList.get(i)

            System.out.println("题目" + (i + 1) + ":" + question.getTitle())

            // 获取到题目选项并打印控制台

            List<String> selected = question.getList()

            for (String string : selected) {

                System.out.println(string)

            }

            // 获取到选择的答案

            String corrent = in.next()

            // 获取到做题结果

            QuestionResult qr = setQuestionResult(question, corrent)

            // 计算错误与正确的题目

            if (corrent.equalsIgnoreCase(question.getCorrentResult())) {

                correntCount = correntCount + 1

            } else {

                errorCount = errorCount + 1

            }

            // 放入结果集合

            questionResults.add(qr)

        }

        System.out.println("您一共答了" + questionCount + "道题,其中正确的为" + correntCount + "题,错误为" + errorCount + "题")

        System.out.println()

        // 遍历结果

        for (QuestionResult questionResult : questionResults) {

            if (!questionResult.getSelected().equals(questionResult.getCorrentResult())) {

                System.out.println("错误题目:" + questionResult.getTitle())

                System.out.println("是否正确:" + questionResult.getResult())

                System.out.println("选择的答案:" + questionResult.getSelected() + ",正确答案:" + questionResult.getCorrentResult())

                System.out.println()

            }

        }

    }

    public static QuestionResult setQuestionResult(Question question, String corrent) {

        QuestionResult result = new QuestionResult()

        result.setCorrentResult(question.getCorrentResult())

        result.setTitle(question.getTitle())

        result.setSelected(corrent)

        // 如果答案正确

        if (corrent.equalsIgnoreCase(question.getCorrentResult())) {

            result.setResult("正确")

        } else {

            result.setResult("错误")

        }

        return result

    }

    /** 根据难度获取对应题目(1:简单。2:困难) */

    public static List<Question> getQuestionByLevel(int level) {

        List<Question> result = null

        if (level == 1) {

            // 创建list集合用于存放题目,简单难度

            List<Question> questionList = new ArrayList<Question>()

            // 添加题目到list

            Question question = new Question()

            question.setTitle("中国文化博大精深,请问1+2等于几?")

            // 题目答案选项

            List<String> list = new ArrayList<String>()

            list.add("A:1")

            list.add("B:2")

            list.add("C:3")

            list.add("D:6")

            question.setCorrentResult("C")

            question.setList(list)

            // 将题目放到list集合

            questionList.add(question)

            // 设置返回结果

            result = questionList

        } else if (level == 2) {

            // 创建list集合用于存放题目,简单难度

            List<Question> questionList = new ArrayList<Question>()

            // 添加题目到list

            Question question = new Question()

            question.setTitle("朝辞白帝彩云间的下一句是什么?")

            // 题目答案选项

            List<String> list = new ArrayList<String>()

            list.add("A:千里江陵一日还")

            list.add("B:野火烧不尽")

            list.add("C:离离原上草")

            list.add("D:智商捉鸡")

            question.setCorrentResult("A")

            question.setList(list)

            // 将题目放到list集合

            questionList.add(question)

            // 设置返回结果

            result = questionList

        }

        return result

    }

}

/** 题目结果类 */

class QuestionResult {

    /** 题目名称 */

    private String title

    /** 是否正确 */

    private String result

    /** 选择的答案 */

    private String selected

    /** 正确答案 */

    private String correntResult

    public String getTitle() {

        return title

    }

    public void setTitle(String title) {

        this.title = title

    }

    public String getResult() {

        return result

    }

    public void setResult(String result) {

        this.result = result

    }

    public String getSelected() {

        return selected

    }

    public void setSelected(String selected) {

        this.selected = selected

    }

    public String getCorrentResult() {

        return correntResult

    }

    public void setCorrentResult(String correntResult) {

        this.correntResult = correntResult

    }

}

/** 题目类 */

class Question {

    /** 题目名称 */

    private String title

    /** 题目的所有选项 */

    private List<String> list

    /** 正确答案 */

    private String correntResult

    public String getTitle() {

        return title

    }

    public void setTitle(String title) {

        this.title = title

    }

    public List<String> getList() {

        return list

    }

    public void setList(List<String> list) {

        this.list = list

    }

    public String getCorrentResult() {

        return correntResult

    }

    public void setCorrentResult(String correntResult) {

        this.correntResult = correntResult

    }

}

模式为B/S

FLASH+XML+AJAX做浏览器的客户端也就是B

C/C++或者JAVA做服务器端,80端口的监听也就是S

由XMLSOCKET函数来发送身高体重三围,服务端计算然后返回给浏览器结果,由浏览器接收结果,即时刷新换图片,采用FLASH或者AJAX技术都可以。

其实那都是虚拟现实技术而已,不是真的3D技术。

java执行应用程序步骤如下:

第一步:下载并安装JDK 6.0,安装路径为: C:\java\jdk1.6 .

第二步:对“我的电脑”按右键,选“属性”,在“系统属性”窗口中选“高级”标签,再按“环境变量”按钮,d出一个“环境变量”的窗口,在系统变量中新建一个变量,变量名为“JAVA_HOME“,变量值为"C:\java\jdk1.6";

第三步:单击Windows xp的“开始”->“运行”,在d出的运行窗口中输入cmd,按回车,打开一个命令行窗口,输入javac,将会看见一系列javac常用参数选项.

第四步:开始编程(注意先双击打开"我的电脑",在"工具" ->"文件夹选项" ->点击"查看"选项 ->在"高级设置"中找到"隐藏已知文件类型的扩展名"前面的小勾去掉)。在C盘的根目录中新建一个子目录,名为"JavaTest”,以作为存放 Java源代码的地方。

第五步:在命令行窗口中输入 cd C:\JavaTest,将当前路径转入JavaTest目录中。然后,输入 javac HelloWorld.java,JDK就在JavaTest文件夹中编译生成一个 ass的类文件。

第六步:在命令行窗口中输入 java HelloWorld,(注意没有.class后缀)屏幕出现了

Hello world!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12130109.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存