【问题标题】:Method calling error [closed]方法调用错误[关闭]
【发布时间】:2012-04-03 23:53:21
【问题描述】:

我需要在我的程序中使用两种方法来转换温度 我在调用我的方法时遇到问题 这是我的代码:

import java.io.*;
import javax.swing.JOptionPane;

public class Converter {
    public static void main(String[] args) throws Exception{
        //BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String unit = JOptionPane.showInputDialog("Enter unit F or C: ");

        String temp1 = JOptionPane.showInputDialog("Enter the Temperature: ");


        double temp = Double.valueOf(temp1).doubleValue();




        public static double convertTemp(){
         if((unit.equals("F"))||(unit.equals("f"))){
        double c= (temp - 32) / 1.8;
        JOptionPane.showMessageDialog(null,c+" Celsius"));
        }

         else if((unit.equals("C"))||(unit.equals("c"))){
        double f=((9.0 / 5.0) * temp) + 32.0;
        JOptionPane.showMessageDialog(null,f+" Fahrenheit");

}
}
}

【问题讨论】:

  • 不要只说“我有问题”。请解释到底是什么问题。您收到错误消息吗?然后复制并粘贴错误消息。该程序是否给您一些与您预期不同的答案?然后告诉我们您的预期以及实际输出与此有何不同。
  • 如果这是家庭作业,请标记它...
  • 语法正确吗?
  • 还有一个错误是表达式的非法开始

标签: java static-methods


【解决方案1】:
 public static double {
         if((unit.equals("F"))||(unit.equals("f"))){
        double c= (temp - 32) / 1.8;
        JOptionPane.showMessageDialog(null,c+" Celsius");
        }

不是有效的 Java。您需要在 main 方法之外创建一个方法

public static double convertTemp(){
...
}

您必须在方法调用中添加参数(在() 之间)。

要清楚,你的文件应该是这样的

public class Converter {
    public static void main(String[] args) throws Exception{
      ....
    }

    public static double convertTemp(){
      ....
    }
}

当然,代码的核心是在方法声明中。

【讨论】:

  • 并且没有方法名或参数列表,开机。
  • @Dave 你是说我的回答不完整,还是详细说明 OP 代码中的错误?
  • 我不断收到错误:Illegal start of expression:
  • @user1190386 使用完整代码和错误更新您的问题。取消此答案的复选标记,直到问题得到实际回答。
  • 错误是:Illegal start of an expression & Cannot find symbol
猜你喜欢
  • 2018-03-08
  • 2013-06-22
  • 1970-01-01
  • 2014-01-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多