下次上課:10/4

 

我的寫法:

 

package com.sun.www;

 

import javax.swing.JOptionPane;

 

publicclass Psy {

 

 

    public static void main(String[] args) {

        

        //方法3 輸入的值第一個即預設為第一樓

        String[][] quiz = new String[][]{

        

        {"1.經常對雙親採取反抗的態度 (y/n) ?"},

        {"2.能沉著地和討厭的人說話 (y/n) ?"},

        {"3.不會拒絕別人的請求 (y/n) ?"},

        {"4.周圍的人說你生氣時很恐怖 (y/n) ?"},

        {"5.曾經認真考慮過要自殺 (y/n) ?"},

        {"6.想嘗試如野獸般的sex (y/n) ?", "10", "8"},

        {"7.因為個性很衝,所以常常與人發生口角 (y/n) ?", "8", "6"},

        {"8.你的內心比外表還要狂野 (y/n) ?", "12", "11"},

        {"9.最近的人際關係經常失和 (y/n) ?", "12", "13"},

        {"10.能若無其事地說謊 (y/n) ?", "13", "14"},

        {"11.經常會累積煩惱 (y/n) ?", "15", "10"},

        {"12.對人的喜好很強烈 (y/n) ?", "15", "16"},

        {"13.會帶頭說人壞話 (y/n) ?", "17", "14"},

        {"14.經常有兩極化的言行 (y/n) ?", "19", "17"},

        {"15.認為女性的價值絕對是由容貌來決定 (y/n) ?", "18", "20"},

        {"16.會勃然大怒至忘我境界 (y/n) ?", "19", "20"},

        {"17.容易得意忘形 (y/n) ?", "18", "21"},

        {"18.過去一年都是同一髮型 (y/n) ?", "22", "21"},

        {"19.曾情緒性的大聲嘶吼 (y/n) ?", "23", "22"},

        {"20.不太會和沒利害關係的人來往 (y/n) ?", "24", "19"},

        {"21.很容易讓人對你發牢騷 (y/n) ?", "25", "22"},

        {"22.很會向年長的異性撒嬌 (y/n) ?", "26", "23"},

        {"23.在家裡和在外面的個性截然不同 (y/n) ?", "28", "26"},

        {"24.經常讓人說是慢郎中 (y/n) ?", "28", "27"},

        {"25.會裝開心果逗大家開心 (y/n) ?", "29", "30"}, //A, B

        {"26.曾讓自己比外表看起來更美麗 (y/n) ?", "30", "31"}, //B, C

        {"27.在任何場所都能感動流淚 (y/n) ?", "32", "26"},  //D

        {"28.脾氣相當彆扭 (y/n) ?", "32", "33"}, //D, E

        {"A類型 追求自然的誠實派\n\n你最討厭掩飾,覺得誠實最好,當然雙重人格程\n度也最低。可是這並不表示你只會說真話,有時\n你也懂得某些狀況要裝傻。你在人際關係上有裝\n乖寶寶的強烈傾向,就連和真正討厭的人相處也\n能和喜歡的朋友般沒差別,不過這點恐怕會惹人\n嫌,被認為「表裡不一」或「裝好人」。","",""},

        {"B類型 非得說真話的頑固者\n\n你的個性是只說真心話,完全不在乎發言會激怒\n周遭或造成恐慌,只要能表達意見就會感到滿足\n。粗線條的你雖沒發覺,但周遭已把你列入「不\n受歡迎」的黑名單。你多半不是為了傷人才惡言\n相向,但完全無惡意反而才更難處理;說話不思考\n會被孤立唷,不過你也許一輩子都不會發現。","",""},

        {"C類型 不停變換假面具的牆頭草\n\n與其說是雙重人格不如說你八面玲瓏。你會因人\n改變態度,有著見人說人話及欺弱扶強的狡猾之\n處。你對待有利用價值的人會和藹可親,反之則\n冷酷無情,是周圍常見的牆頭草的類型。曾在合\n適時機適當發言是特徵之一,或許會被人批評「\n沒原則」,偶爾要貫徹自己想法以免失去信賴。","",""},

        {"D類型 標準的雙重人格\n\n你是道地的雙重人格。雖平常愛流淚、會照顧人\n,有耐心傾聽周圍煩惱,但一激動起來會張惶失\n措至連旁人都無法處理的地步,出現令人無法置\n信的大轉變。不過因為你自己有自覺,所以還不\n算是病態!平常很老實,可是偶而也會做出想不到\n的大膽行為,總之轉變極端是你的特徵。","",""},

        {"E類型 靈活運用的處世能手\n\n你是處世的能手,有能力與人相處愉快,雙重人\n格度屬一般水平。除非必要否則不與人爭執,常\n保持中立立場,一切有分寸,但並非是沈默老實\n,而是瞭解樹大招風的道理。即使朋友興致勃勃\n說某人壞話也絕不加入,但這不表示袒護對方。\n如果是女性,這樣的態度會被同性誤認為「狡猾\n」。","",""}

         //接下來要自己寫囉!

        

        };

        JOptionPane.showMessageDialog(null, "歡迎來玩心理測驗!");     //開始畫面

        int answer = JOptionPane.showConfirmDialog(null, quiz[0] , "心理測驗", JOptionPane.YES_NO_OPTION);  //第一題開始

        

        System.out.println(answer);   //偷看答案 是=0 否=1

        

        if (answer==0){          //如果回傳值為"是(0)"則執行第2題

        int answer1 = JOptionPane.showConfirmDialog(null, quiz[1] , "心理測驗", JOptionPane.YES_NO_OPTION);

     

        }else{     //否則執行第五題

        

        int answer1 = JOptionPane.showConfirmDialog(null, quiz[4] , "心理測驗", JOptionPane.YES_NO_OPTION);

        

        };

        

        if(answer==0){

        

        JOptionPane.showConfirmDialog(null, quiz[2] , "心理測驗", JOptionPane.YES_NO_OPTION);

        }if(answer==1){

        JOptionPane.showConfirmDialog(null, quiz[4] , "心理測驗", JOptionPane.YES_NO_OPTION);

        

        

        };

        

        if(answer==0){

        

        JOptionPane.showConfirmDialog(null, quiz[3] , "心理測驗", JOptionPane.YES_NO_OPTION);

        }if (answer==1){

        JOptionPane.showConfirmDialog(null, quiz[5] , "心理測驗", JOptionPane.YES_NO_OPTION);

        

        

        }

        

        if(answer==0){

        

        JOptionPane.showConfirmDialog(null, quiz[7] , "心理測驗", JOptionPane.YES_NO_OPTION);

        }else{

        JOptionPane.showConfirmDialog(null, quiz[6] , "心理測驗", JOptionPane.YES_NO_OPTION);

        

        

        }

        

        if(answer==0){

        

        JOptionPane.showConfirmDialog(null, quiz[8] , "心理測驗", JOptionPane.YES_NO_OPTION);

        }else{

        JOptionPane.showConfirmDialog(null, quiz[9] , "心理測驗", JOptionPane.YES_NO_OPTION);

        

        

        }

        

        }

        

    }

    

 老師答案:

 

import javax.swing.*;

public class MentalQuiz {
public static void main(String[] args) {
String[][] quiz = { {"1.經常對雙親採取反抗的態度 (y/n) ?", "2", "5"},
{"2.能沉著地和討厭的人說話 (y/n) ?", "3", "5"},
{"3.不會拒絕別人的請求 (y/n) ?", "4", "6"},
{"4.周圍的人說你生氣時很恐怖 (y/n) ?", "8", "7"},
{"5.曾經認真考慮過要自殺 (y/n) ?", "9", "10"},
{"6.想嘗試如野獸般的sex (y/n) ?", "10", "8"},
{"7.因為個性很衝,所以常常與人發生口角 (y/n) ?", "8", "6"},
{"8.你的內心比外表還要狂野 (y/n) ?", "12", "11"},
{"9.最近的人際關係經常失和 (y/n) ?", "12", "13"},
{"10.能若無其事地說謊 (y/n) ?", "13", "14"},
{"11.經常會累積煩惱 (y/n) ?", "15", "10"},
{"12.對人的喜好很強烈 (y/n) ?", "15", "16"},
{"13.會帶頭說人壞話 (y/n) ?", "17", "14"},
{"14.經常有兩極化的言行 (y/n) ?", "19", "17"},
{"15.認為女性的價值絕對是由容貌來決定 (y/n) ?", "18", "20"},
{"16.會勃然大怒至忘我境界 (y/n) ?", "19", "20"},
{"17.容易得意忘形 (y/n) ?", "18", "21"},
{"18.過去一年都是同一髮型 (y/n) ?", "22", "21"},
{"19.曾情緒性的大聲嘶吼 (y/n) ?", "23", "22"},
{"20.不太會和沒利害關係的人來往 (y/n) ?", "24", "19"},
{"21.很容易讓人對你發牢騷 (y/n) ?", "25", "22"},
{"22.很會向年長的異性撒嬌 (y/n) ?", "26", "23"},
{"23.在家裡和在外面的個性截然不同 (y/n) ?", "28", "26"},
{"24.經常讓人說是慢郎中 (y/n) ?", "28", "27"},
{"25.會裝開心果逗大家開心 (y/n) ?", "29", "30"}, //A, B
{"26.曾讓自己比外表看起來更美麗 (y/n) ?", "30", "31"}, //B, C
{"27.在任何場所都能感動流淚 (y/n) ?", "32", "26"}, //D
{"28.脾氣相當彆扭 (y/n) ?", "32", "33"}, //D, E
{"A類型 追求自然的誠實派\n\n你最討厭掩飾,覺得誠實最好,當然雙重人格程\n度也最低。可是這並不表示你只會說真話,有時\n你也懂得某些狀況要裝傻。你在人際關係上有裝\n乖寶寶的強烈傾向,就連和真正討厭的人相處也\n能和喜歡的朋友般沒差別,不過這點恐怕會惹人\n嫌,被認為「表裡不一」或「裝好人」。","",""},
{"B類型 非得說真話的頑固者\n\n你的個性是只說真心話,完全不在乎發言會激怒\n周遭或造成恐慌,只要能表達意見就會感到滿足\n。粗線條的你雖沒發覺,但周遭已把你列入「不\n受歡迎」的黑名單。你多半不是為了傷人才惡言\n相向,但完全無惡意反而才更難處理;說話不思考\n會被孤立唷,不過你也許一輩子都不會發現。","",""},
{"C類型 不停變換假面具的牆頭草\n\n與其說是雙重人格不如說你八面玲瓏。你會因人\n改變態度,有著見人說人話及欺弱扶強的狡猾之\n處。你對待有利用價值的人會和藹可親,反之則\n冷酷無情,是周圍常見的牆頭草的類型。曾在合\n適時機適當發言是特徵之一,或許會被人批評「\n沒原則」,偶爾要貫徹自己想法以免失去信賴。","",""},
{"D類型 標準的雙重人格\n\n你是道地的雙重人格。雖平常愛流淚、會照顧人\n,有耐心傾聽周圍煩惱,但一激動起來會張惶失\n措至連旁人都無法處理的地步,出現令人無法置\n信的大轉變。不過因為你自己有自覺,所以還不\n算是病態!平常很老實,可是偶而也會做出想不到\n的大膽行為,總之轉變極端是你的特徵。","",""},
{"E類型 靈活運用的處世能手\n\n你是處世的能手,有能力與人相處愉快,雙重人\n格度屬一般水平。除非必要否則不與人爭執,常\n保持中立立場,一切有分寸,但並非是沈默老實\n,而是瞭解樹大招風的道理。即使朋友興致勃勃\n說某人壞話也絕不加入,但這不表示袒護對方。\n如果是女性,這樣的態度會被同性誤認為「狡猾\n」。","",""}
};
int 題號 = 1;

do {
int 使用者選擇 = JOptionPane.showConfirmDialog(null, quiz[題號-1][0]);
// if (使用者選擇 == JOptionPane.YES_OPTION) { // 如果使用者按「是」
// 題號 = Integer.parseInt(quiz[題號-1][1]); // 從quiz陣列裡取出使用者回答是的下一題題號
// } else if (使用者選擇 == JOptionPane.NO_OPTION) { // 如果使用者按「否」
// 題號 = Integer.parseInt(quiz[題號-1][2]); // 從quiz陣列裡取出使用者回答否的下一題題號
// } else if (使用者選擇 == JOptionPane.CANCEL_OPTION || 使用者選擇 == JOptionPane.CLOSED_OPTION) { // 如果使用者按「取消」或「關閉」
// System.exit(0); // 立即結束Java應用程式
// }
switch(使用者選擇) { // switch 指令在課本7-28頁, 266頁
case JOptionPane.YES_OPTION: // 如果使用者按「是」 (如果「使用者選擇」變數內容與YES_OPTION變數內容相同)
題號 = Integer.parseInt(quiz[題號-1][1]); // 從quiz陣列裡取出使用者回答是的下一題題號
break; // 中止執行switch區塊
case JOptionPane.NO_OPTION: // 如果使用者按「否」 (如果「使用者選擇」變數內容與NO_OPTION變數內容相同)
題號 = Integer.parseInt(quiz[題號-1][2]); // 從quiz陣列裡取出使用者回答否的下一題題號
break; // 中止執行switch區塊
case JOptionPane.CANCEL_OPTION: // 如果使用者按「取消」
case JOptionPane.CLOSED_OPTION: // 如果使用者按「關閉」
System.exit(0); // 立即結束Java應用程式
}
} while (題號 <= 28);
JOptionPane.showMessageDialog(null, quiz[題號-1][0]);
}
}

                

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 鈴木保齡球 的頭像
    鈴木保齡球

    Java程式學習手札

    鈴木保齡球 發表在 痞客邦 留言(0) 人氣()