2016-09-17 3 views
-1

配列または並べ替えを使わずに.txtファイルで2番目に大きい/ 2番目に小さい番号を見つける方法はありますか?私はwhile(file.nextInt())を使って最大/最小の番号を見つけることができました...しかし、それは私が終わったところです。ファイル内で2番目に大きい番号を検索する

+3

http://stackoverflow.com/questions/18673676/the-largest-second-number – Tunaki

+0

にメタ情報を付加しないでくださいあなたの質問。あなたは "ありがとう"を追加する必要はありません、[尋ねる]をお読みください。 – Tunaki

答えて

0

私があなたがしていると思うことを(あなたはすべての数字を読んで大きく/小さく保ちます)、あなたは最大/最小と2番目を保持してみませんか?例については

int bigger = 0 // or whatever you want to initialize it 
int second = 0 // the same 

while(file.hasNextInt()){ 
    int newNumber = file.nextInt(); 
    if (newNumber > bigger){ 
     second = bigger; 
     bigger = newNumber; 
    } else{ 
     if (newNumber > second){ 
      second = newNumber; 
     } 
    } 
} 

// at the end you have the biggest and the second one. 

でしょうあなたのために働きますか? もちろん、この例では2番目に大きい数字を見つけることができますが、2番目の小さな数字を簡単に見つけるために修正することができます。

これは仕方ないこれにに最善の方法である...

関連する問題