[Java] 如何判斷輸入的數字有沒有重複

對許多人而言,猜數字是一個非常好玩的遊戲,海芋之前沒事的時侯,用 Java 寫了一個猜數字遊戲,不過首先遇到的問題是,輸入的數字不能重複。而海芋的頭腦很簡單,只能想出最基本的方法,於是海芋就想到先把陣列做排序,再依序兩兩比較是否重複就好了。

這個想法的源頭是,先複製一個陣列到temp陣列,再將temp陣列排序。而因為temp陣列是排序過的,所以只要第一個陣列元素和第二個陣列元素比較,如果是相同就回傳true,如果是不同就回傳false,接著再依序把第二個陣列元素和第三個陣列元素比,就可以很輕易地比出來了,而且只要一個迴圈。

這個方法所要用到的技巧有「陣列的排序」和「陣列的複製」,如果對這兩個還不熟悉的可以去看看相關的文章喔!

以下為海芋的比較部份的程式碼,其中temp陣列為排序過的陣列:

for(int i=0; i<temp.length-1; i++)
{
   if(temp[i] == temp[i+1])
   {
     repeat = true;
     break;
   }
   repeat = false;
}

其中 repeat 代表的意義為是否重覆。

Subscribe
Notify of
guest

0 Comments
Inline Feedbacks
View all comments