⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 quiz.java

📁 CroftSoft Code Library是一个开源的可移植的纯Java游戏库
💻 JAVA
字号:
     package com.croftsoft.apps.quiz;

     import java.io.Serializable;
     import java.util.*;

     import com.croftsoft.core.lang.NullArgumentException;
     import com.croftsoft.core.text.sml.*;

     /*********************************************************************
     * A list of question/answer pairs.
     *
     * @version
     *   2001-06-10
     * @since
     *   2001-06-10
     * @author
     *   <a href="http://croftsoft.com/">David Wallace Croft</a>
     *********************************************************************/

     public final class  Quiz
       implements Serializable
     //////////////////////////////////////////////////////////////////////
     //////////////////////////////////////////////////////////////////////
     {

     private static final long  serialVersionUID = 1L;

     private Vector  quizItemVector;

     //////////////////////////////////////////////////////////////////////
     //////////////////////////////////////////////////////////////////////

     public static Quiz  fromString ( String  quizString )
     //////////////////////////////////////////////////////////////////////
     {
       return fromSmlNode ( SmlNodeLib.parse ( quizString ) );

     }

     public static Quiz  fromSmlNode ( SmlNode  smlNode )
     //////////////////////////////////////////////////////////////////////
     {
       Vector  quizItemVector = new Vector ( );

       SmlNode  quizItemsSmlNode = smlNode.getChildNode ( "quizItems" );

       if ( quizItemsSmlNode != null )
       {
         int  index = 0;

         SmlNode  quizItemSmlNode;

         while ( true )
         {
           Object  child = quizItemsSmlNode.getChild ( index++ );

           if ( child == null )
           {
             break;
           }

           if ( child instanceof SmlNode )
           {
             quizItemVector.addElement (
               QuizItem.fromSmlNode ( ( SmlNode ) child ) );
           }
         }
       }

       return new Quiz ( quizItemVector );
     }

     //////////////////////////////////////////////////////////////////////
     //////////////////////////////////////////////////////////////////////

     public  Quiz ( Vector  quizItemVector )
     //////////////////////////////////////////////////////////////////////
     {
       NullArgumentException.check (
         this.quizItemVector = quizItemVector );
     }

     public  Quiz ( )
     //////////////////////////////////////////////////////////////////////
     {
       this ( new Vector ( ) );
     }

     //////////////////////////////////////////////////////////////////////
     //////////////////////////////////////////////////////////////////////

     public synchronized QuizItem [ ]  getQuizItems ( )
     //////////////////////////////////////////////////////////////////////
     {
       QuizItem [ ]  quizItems = new QuizItem [ quizItemVector.size ( ) ];

       quizItemVector.copyInto ( quizItems );

       return quizItems;
     }

     //////////////////////////////////////////////////////////////////////
     //////////////////////////////////////////////////////////////////////

     public synchronized void  add ( QuizItem  quizItem )
     //////////////////////////////////////////////////////////////////////
     {
       quizItemVector.addElement ( quizItem );
     }

     //////////////////////////////////////////////////////////////////////
     //////////////////////////////////////////////////////////////////////

     public SmlNode  toSmlNode ( )
     //////////////////////////////////////////////////////////////////////
     {
       SmlNode  rootSmlNode = new SmlNode ( "Quiz" );

       QuizItem [ ]  quizItems = getQuizItems ( );

       if ( quizItems != null )
       {
         SmlNode  quizItemsSmlNode = new SmlNode ( "quizItems" );

         rootSmlNode.add ( quizItemsSmlNode );

         for ( int  i = 0; i < quizItems.length; i++ )
         {
           quizItemsSmlNode.add ( quizItems [ i ].toSmlNode ( ) );
         }
       }

       return rootSmlNode;       
     }

     public String  toString ( )
     //////////////////////////////////////////////////////////////////////
     {
       return toSmlNode ( ).toString ( 0, 0 );
     }

     //////////////////////////////////////////////////////////////////////
     //////////////////////////////////////////////////////////////////////
     }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -