查找最小的數字,我試圖尋找1000個可用插槽一個數組中最小的數字,但我的代碼返回不停0,即使0不是我的一個輸入。我的問題是在最後的for循環,其餘的代碼工作。這裏是我的代碼:陣列中的錯誤
import java.util.ArrayList;
import java.util.InputMismatchException;
import java.util.Scanner;
public class SmallestNumber
{
public static boolean isInteger(String num)
{
boolean again=false;
try
{
int d= Integer.parseInt(num);
again=true;
}
catch(NumberFormatException e)
{
again=false;
}
return again;
}
public static void main(String[] args)
{
int [] intNum = new int[1000];
int i=0;
String num;
boolean repeat = false;
String done="done";
Scanner inData = new Scanner(System.in);
System.out.println("You can enter up to 1000 integers." + "\n" + "Enter 'done' to finish");
while (!repeat)
{
System.out.print("Int: ");
num=inData.next();
repeat=isInteger(num);
if (repeat==false)
{
String entry=num.toUpperCase();
boolean equals=entry.equals("DONE");
if (equals==true)
{
repeat=true;
}
else
{
System.out.println("Error: you did not enter a valid chracter. Please enter a interger or state 'done'");
repeat=false;
}
}
else
{
int number=Integer.parseInt(num);
intNum[i]=number;
i=i+1;
if(i<1000)
{
repeat=false;
}
else
{
repeat=true;
}
}
}
int temp=intNum[0];
for(int j=1;j<intNum.length;j++)
{
if (intNum[j]<temp)
{
intNum[j]=temp;
}
else
{
}
}
System.out.print(temp);
}
}
時間的長度,解決了這個問題精益如何使用IDE的調試器。真。 – OldProgrammer
看看這行 - 「intNum [j] = temp;'並向我解釋它在做什麼。然後改變它應該是什麼。 –
此外,你有變量稱爲'我','數字','數字','溫度'和'intNum'。你怎麼可能跟蹤每個人的目標?請爲所有變量使用更多信息名稱。 –