私は単純な最大値と最小値のメソッドを書こうとしていましたが、書いたように、これほど複雑であってはならないと感じずにはいられません….多分私は間違っているのでしょうか? 私の最大のコードは次のように機能します。貧弱な疑似コードを許してください:
配列に 10 個の乱数を入力します。0 が最小の最大値であるため、0 に初期化された最大変数を作成します。各要素を max と比較します。要素が max より大きい場合は、max の値を問題の要素に置き換えます。
max を 0 に初期化する必要があるという事実が気に入らないのですが、これよりも良い方法があるのではないでしょうか?
私の最小コードは、私を除いて同様に機能します。私の最小値が配列要素よりも低いことを比較してください。要素が低い場合は、min を置き換えます。
これについて私が本当に気に入らないのは、min を最大の乱数 (この場合は 50) に初期化する必要があることです。
私の質問は次のとおりです。これを行うためのより良い方法はありますか? このコードをより効率的に記述する方法はありますか?
import java.util.Random;
public class Main {
public static void main(String[] args) {
//Declare min and max
int max=0;
int min;
//Array of 10 spaces
int[] ar=new int[10];
//fill an array with random numbers between 0 and 50
for(int i=0;i<10;i++)
{
ar[i]=new Random().nextInt(50);
}
//Test max algorithm
//loop trough elements in array
for(int i=0;i<10;i++)
{
//max is set to 0, there should always be a maximum of 0
//If there isnt 0 will be the maximum
//If element is greater then max
//replace max with that element
if(ar[i]>max)
{
max=ar[i];
}
}
System.out.println("The max is "+ max);
//Test min
//Initialising min to maximum Random number possible?
min=50;
for(int i=0;i<10;i++)
{
if(ar[i]<min){
min=ar[i];
}
}
System.out.println("The min is "+min);
}
}