私は、ユーザーに値を入力するように求めるコードを書きました。センチネル値は -99 で、最大値と最小値を表示しました。動作していましたが、最小値として -99 が表示されました。それで、最小値に && != -99 を入れていじりましたが、無限ループが発生したので、そのコードを取り出しました。しかし、重要なものを削除したに違いありません。なぜなら、今では最大と最小が得られず、無限ループに陥るだけだからです。
いくつかの指針を教えてください。
これが私のコードです。
public class Practice
{
public static void main(String[] args)
{
int smallest = 0; int largest = 0; int integer;
// Create a Scanner object for keyboard input.
Scanner input = new Scanner(System.in);
System.out.println("Enter an integer: ");
System.out.println("Enter -99 when finished.");
System.out.println();
int n = input.nextInt();
integer = input.nextInt();
smallest = integer;
while (integer != -99)
{
for(int i = 2; i < n; i++)
{
integer = input.nextInt();
if(integer > largest)
{
largest = integer;
}
if(integer < smallest)
{
smallest = integer;
}
}
}
System.out.println("The largest number is:" + largest);
System.out.println("The smallest number is : " + smallest);
}
}