Java温度计算器

时间:2016-02-03 16:26:54

标签: java class if-statement while-loop java.util.scanner

我在编译期间收到错误。它期待require 'net/http' require 'base64' port = 7180 host = 'localhost' req = Net::HTTP::Put.new('/api/v11/cm/config') req.body = '{"items":[{"name":"TSQUERY_STREAMS_LIMIT","value":1000},{"name":"parcel_proxy_server","value":"proxy"},{"name":"parcel_proxy_port","value":"8080"},{"name":"parcel_update_freq","value":"1"}]}' req['Content-Type'] = 'application/json' req['Authorization'] = "Basic #{Base64.encode64('admin:admin')}" resp = Net::HTTP.start(host, port) { |client| client.request(req) } puts resp puts resp.to_hash puts resp.body 。我不认为它应该需要一个。我很擅长编码,所以请原谅我的无知。我还想要一些关于如何在用户输入C或F时使Case无效的指导,这样他们就可以输入c或f而不会收到错误消息。

这是我的代码:

.class

3 个答案:

答案 0 :(得分:0)

if (int=0)

这不是有效的Java语法。 int是一种不是变量的类型。你打算写:

if(option == 0)

请注意==(比较)而不是=(分配)。 这是您要实施的流程:

if (option == 0) {
    System.out.println("Please enter a temperature in degrees Fahrenheit.");
    ftoc();
  } else if (option == 1) {
    System.out.println("Please enter a temperature in degrees Celsius.");
    ctof();
  } else {
    System.out.println("ERROR PLEASE ENTER A F OR A C TO PROCEED!");
  }

如果您希望用户输入fc而不是提及学位,则需要使用:

String option = input.next();

获取String而不是Integer

然后:

if (option.equals('F') { ... }
else if(option.equals('C') { ... }
else { ... }

如果您希望输入不区分大小写,请查看toLowerCasetoUpperCase并将其应用于您的需求(此处有一个答案显示其用途)。

答案 1 :(得分:0)

int是java中保留的关键字你不能用它与表达式进行比较,你应该使用他的值如下:

    int option = input.nextInt();
      if (option ==0) {

不是if (int=0) {=用于分配,但==用于检查相等。

答案 2 :(得分:0)

首先必须检查ifs语句中的验证,如前面提到的答案。

另外,我认为你的实际转换公式是交换的。

然后,为了接收'C'或'c'

阅读String,而不是int

String option = input.next();

然后所有输入转换为小写

if (option.toLowerCase().equals("f"))

以下是完整的示例:

public class TempCALC {
    public static void main(String[] args) {
        System.out.println("This Program will allow the user to calculate temperature.");
        calculateTemp();
    }

    private static void calculateTemp() {
        Scanner input = new Scanner(System.in);
        System.out.println("Please enter a F to convert Fahrenheit to Celsius.");
        System.out.println("Please enter a C to convert Celsius to Fahrenheit.");
        String option = input.next();
        if (option.toLowerCase().equals("f")){
            System.out.println("Please enter a temperature in degrees Fahrenheit.");
            ftoc();
        }else if (option.toLowerCase().equals("c")){
            System.out.println("Please enter a temperature in degrees Celsius.");
            ctof();
        }else{
            System.out.println("ERROR PLEASE ENTER A F OR A C TO PROCEED!");
        }
    }

    private static void ftoc() {
        Scanner input = new Scanner(System.in);
        Double celsius = input.nextDouble();
        System.out.println(celsius + "celsius is" + ((celsius * 9 / 5.0) + 32) + "Fahrenheite");
        calculatetemp();
    }

    private static void ctof() {
        Scanner input = new Scanner(System.in);
        Double Fahrenheit = input.nextDouble();
        System.out.println(Fahrenheit + "Fahrenheit is" + ((Fahrenheit - 32) * (5 / 9.0)) + "Celsius");
        calculatetemp();
    }

    private static void print(String string){
        System.out.println("\n" + string);
    }

    private static void calculatetemp(){
        System.out.println("\nInside calculateTemp");
    }
}