如何在基于文本的Java项目中实现Jframe

时间:2016-10-19 12:05:17

标签: java

package quiz;  //assigns package name
import java.util.Scanner;  //adds Scanner utility from java library
import java.util.Random;  //adds Random utility from java library

public class Quiz //start Quiz class
{
    String question;  //initializes question string 
    String answer;  //initializes answer variable 
    int correct=0, number;  //initializes scoring variables
    Quiz[] quizBank = new Quiz[20];  //initializes quizBank array 


    public static void main(String[] args) //start of main
    {
        Quiz bank = new Quiz();  //creates new Quiz object
        bank.bankList();  //assigns name of portion of program to build the collection of questions and answers
        bank.askQuestion();  //assigns name of portion of program to ask the questions
    }  //end main

    public void bankList() //start of bankList
    {
        quizBank[0] = new Quiz();  //Creates new object
        quizBank[0].question = "The smallest prime number";  //Initialize object variables
        quizBank[0].answer = "2";  //Initialize object variables

        quizBank[1] = new Quiz();  //Creates new object
        quizBank[1].question = "Area of triangle with base = 4 and height = 3";  //Initialize object variables
        quizBank[1].answer = "6";  //Initialize object variables    

        quizBank[2] = new Quiz();  //Creates new object
        quizBank[2].question = "Area of square with side = 5";  //Initialize object variables
        quizBank[2].answer = "25";  //Initialize object variables   

        quizBank[3] = new Quiz();  //Creates new object
        quizBank[3].question = "Square root of 144";  //Initialize object variables
        quizBank[3].answer = "12";  //Initialize object variables   

        quizBank[4] = new Quiz();  //Creates new object
        quizBank[4].question = "No. of states in US";  //Initialize object variables
        quizBank[4].answer = "50";  //Initialize object variables   

        quizBank[5] = new Quiz();  //Creates new object
        quizBank[5].question = "No. of continents in the world";  //Initialize object variables
        quizBank[5].answer = "7";  //Initialize object variables

        quizBank[6] = new Quiz();  //Creates new object
        quizBank[6].question = "In which year did man land on the moon";  //Initialize object variables
        quizBank[6].answer = "1969";  //Initialize object variables 

        quizBank[7] = new Quiz();  //Creates new object
        quizBank[7].question = "How many colors in a rainbow";  //Initialize object variables
        quizBank[7].answer = "7";  //Initialize object variables    

        quizBank[8] = new Quiz();  //Creates new object
        quizBank[8].question = "How many colors in the US flag";  //Initialize object variables
        quizBank[8].answer = "3";  //Initialize object variables    

        quizBank[9] = new Quiz();  //Creates new object
        quizBank[9].question = "Square of 25";  //Initialize object variables
        quizBank[9].answer = "625";  //Initialize object variables

                quizBank[10] = new Quiz();  //Creates new object
        quizBank[10].question = "The smallest square number";  //Initialize object variables
        quizBank[10].answer = "8";  //Initialize object variables

        quizBank[11] = new Quiz();  //Creates new object
        quizBank[11].question = "What is the square root of 16";  //Initialize object variables
        quizBank[11].answer = "4";  //Initialize object variables   

        quizBank[12] = new Quiz();  //Creates new object
        quizBank[12].question = "Area of square with side = 10";  //Initialize object variables
        quizBank[12].answer = "25";  //Initialize object variables  

        quizBank[13] = new Quiz();  //Creates new object
        quizBank[13].question = "Square root of 36";  //Initialize object variables
        quizBank[13].answer = "6";  //Initialize object variables   

        quizBank[14] = new Quiz();  //Creates new object
        quizBank[14].question = "No. of sides on a cube";  //Initialize object variables
        quizBank[14].answer = "6";  //Initialize object variables   

        quizBank[15] = new Quiz();  //Creates new object
        quizBank[15].question = "No. of 0's in a MILLION";  //Initialize object variables
        quizBank[15].answer = "6";  //Initialize object variables

        quizBank[16] = new Quiz();  //Creates new object
        quizBank[16].question = "how many years in a century";  //Initialize object variables
        quizBank[16].answer = "100";  //Initialize object variables 

        quizBank[17] = new Quiz();  //Creates new object
        quizBank[17].question = "What colour do you get when mixing blue and yellow";  //Initialize object variables
        quizBank[17].answer = "green";  //Initialize object variables   

        quizBank[18] = new Quiz();  //Creates new object
        quizBank[18].question = "How many colors in the French flag";  //Initialize object variables
        quizBank[18].answer = "3";  //Initialize object variables   

        quizBank[19] = new Quiz();  //Creates new object
        quizBank[19].question = "Cube root of 8";  //Initialize object variables
        quizBank[19].answer = "2";  //Initialize object variables
    }  //end of bankList

    public void askQuestion() //start of askQuestion
    {
        Scanner input = new Scanner(System.in);  //prepare to read input from keyboard
        System.out.println("********************************");  //prints heading top border
        System.out.println(" Welcome to my Quiz Application");  //prints heading
        System.out.println("********************************");  //prints heading bottom border

        for (number=1; number<=20; number++)  //start of counter for loop
        {
            Random draw = new Random();  //creates new random object
            int choose = draw.nextInt(20);  //randomly chooses a question
            System.out.printf("%d. %s?%n", number, quizBank[choose].question);  //prints question
            String entered = input.nextLine();  //read input

            if (entered.compareTo(quizBank[choose].answer)==0)  //checks the users input
            {
                System.out.println("*** Correct! ***");  //prints correct response
                correct = correct + 1;  //counts number of correct answers
            }
            else  //start of response for wrong answers
                System.out.println("--- Incorrect! ---");  //print the incorrect response
        }  //end of counter for loop

        System.out.println("*******************");  //prints footer top border
        System.out.printf(" Your score is %d/%d%n", correct, number-1);  //prints results
        System.out.println("*******************");  //prints footer bottom border
    }  //end of askQuestion

}  //end public class

2 个答案:

答案 0 :(得分:0)

首先,不要指望人们做你的功课。第二,你可以研究一下。最后,对于您的问题,您可以在JScroolPane中使用JTextPane来显示输出,并且您可以在输入中添加一个带有按钮的JTextField。 如果您不知道如何,我建议您访问Oracle教程:

教程主页:https://docs.oracle.com/javase/tutorial/

Swing Tutorial目录页面:https://docs.oracle.com/javase/tutorial/uiswing/TOC.html

编辑:我建议你将数据模型与可视化模型分开。

度过愉快的一天。

答案 1 :(得分:0)

您可以使用JLabel来显示问题,它有一个setText(String)方法,您可以使用它来更改文本。要从用户获取输入,您可以使用JTextField,它有一个getText()方法,它返回输入的String。 对于分数和正确答案,您还可以使用标签。 要提交答案,您可以使用JButton来检查它是否被按下,您可以实现一个ActionListener并检查click事件的源是否等于提交按钮(event.getSource()== submitButton)... < / p>