0
的說明是:「要求用戶提供以下信息,順序如下:。找到兩個最小的值輸入
- 一個結尾值(實數)用戶將稍後再輸入該值,指示表示已完成輸入
- 實數序列繼續詢問數字,直到輸入終止值
- 計算並輸出最小和次小的實數,依次爲最小和次最小數字可能相同(如果序列包含重複數字)。「
我上傳了我的代碼,分級軟件給了我一個零,說程序與賦值不一致,但是,當測試我的代碼時,它的運行正如分配所需的那樣。任何反饋,爲什麼這可能發生,將不勝感激。
這是我的代碼:
public class TwoSmallest
{
public static void main (String[] args)
{
double terminator;
System.out.print ("Please enter a terminating value: ");
terminator = IO.readDouble();
double lowest1;
double lowest2;
System.out.println("Please enter sequence of numbers:");
lowest1 = IO.readDouble();
while (lowest1 == terminator)
{
IO.reportBadInput();
lowest1 = IO.readDouble();
}
lowest2 = IO.readDouble();
while (lowest2 == terminator)
{
IO.reportBadInput();
lowest2 = IO.readDouble();
}
double input;
do
{
input = IO.readDouble();
if (input < lowest1)
{
if(lowest2 < lowest1)
lowest2 = lowest1;
lowest1 = input;
}
else if (input < lowest2)
lowest2 = input;
}while (input != terminator);
System.out.println("RESULT: " + lowest1);
System.out.println("RESULT: " + lowest2);
}
}
如果你認爲他錯了,你可以直接作爲他嗎? –
您正在處理終止符值。此外,如果輸入以2,1開頭,則將分配2作爲最低數字,將1作爲第二低數字。並且保證在終結者前至少輸入2個數字? – Cinnam
由於Cinnam指出的缺陷,您最好將所有輸入值存儲在一個數組中,然後在打印之前計算兩個最小的數字。 – RobertR