2017-12-03 142 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