2017-12-03 77 views
0

我只是在通過University of Helsinki上提供的免費Java課程刷牙,並遇到了一個問題,我無法弄清楚如何解決。它需要三點(在這種情況下是溫度)並將其繪製成圖形,然後要求您省略-30以下和40度以上的任何條目。繪圖很簡單,因爲有一個伴隨程序被寫入來實際執行點,但我無法弄清楚如何設置程序在所述參數內工作。如何用java設置限制

這是我有:

import java.util.Scanner; 
public class Temperatures { 
    public static void main(String[] args) { 
     Scanner reader = new Scanner(System.in); 

     while (true) { 
      System.out.println("Input numbers:"); 
      double number1 = Double.parseDouble(reader.nextLine()); 
      double number2 = Double.parseDouble(reader.nextLine()); 
      double number3 = Double.parseDouble(reader.nextLine()); 
      Graph.addNumber(number1); 
      Graph.addNumber(number2);    
      Graph.addNumber(number3); 

      if ((number1 > 40 || < -31) && (number2 > 40 || < -31) && (number3 > 40 || < -31)) { 
       System.out.println("Invalid parameters"); 
      } else { 
       System.out.println(""); 
      }  
      break;   
     } 
    } 
} 

上午我處理這個問題完全錯了嗎?

+0

-30和40 –

回答

1

您可以使用if語句(如您所做的)。

然而,在你的代碼中你有一些語法錯誤。

你不能說

if(number1 > 40 || < -31) 

它必須是

if(number1 > 40 || number1 < -31) 
+0

之間檢查有效值謝謝你,我固定的語法錯誤。似乎現在工作正常。 – dirtgrub

+0

@dirtgrub沒問題! –

2

您正在接近正確的方式,但你可以更有效地實現這個代碼,你必須修復語法錯誤。

建議爲效率:

  • 可以使用一個數據結構狀陣列保持溫度值。
  • 您可以使用循環檢查值。所以,你可以擁有更多可讀和模塊化的代碼。

語法錯誤(S):

(number1 > 40 || < -31) 

你不能在Java中使用的結構是這樣的。你有如下修正:

(number1 > 40 || number1 < -31) 
+0

好建議+1 – Doleron