如何编写iquote的重载版本

时间:2012-06-21 02:42:18

标签: java methods

我的任务是写一个iquote()的重载版本,这个方法显示其参数的类型及其用双引号括起来的参数。我被要求写三个版本:一个用于int参数,一个用于double参数,一个用于String参数。我不需要提供申请部分。

这是我到目前为止,它将编译但是收到一条错误消息:Could not find or load main class assign61

有人可以帮我解释一下这段代码......

public class assign61 {
     public void iquote(String s){
        return sQuote;
        System.out.println( "sQuote\" );" 
    }
    public void iquote(int n){
        return iQuote;
        System.out.println( "sQuote\" );" 
    }       
    public void iquote(double d){
        return iQuote;
        System.out.println( "sQuote\" );"          
    }
}

2 个答案:

答案 0 :(得分:2)

您的代码无法正确编译,因为其中存在错误。因此,如果它不能编译,则无法运行。

您需要进行一些更改......

public class assign61 {

    public assign61(){
        iquote("Test");
        iquote("123");
        iquote("5.678");
        }

    public void iquote(String s){
        System.out.println("sQuote:" + s);
    }
    public void iquote(int n){
        System.out.println("iQuote:" + n);
    }       
    public void iquote(double d){
        System.out.println("dQuote:" + d);       
    }

    public static void main(String[] args){
        new assign61();
    }

}

基本上这是需要改变的......

  1. 您想输出该值,因此System.out.println()符号会将其添加到+行的末尾。
  2. 您的方法中有return个语句,但它们不是您想要使用的语句。 return用于将值返回给调用该方法的代码 - 它们不用于向命令提示符输出值。
  3. 由于您的return语句,它们也会阻止您的代码编译,因为您在 System.out.println()语句之前编写而不是之后他们。 return在代码中后面没有任何内容。另外,要使用return语句,您需要将方法更改为public int iQuote(int n),而不是使用void语句,因此它知道您将从哪个类型的数据返回方法
  4. 我添加了一个构造函数方法assign61,其中包含一些测试代码,以显示其他方法是否正常工作。我还添加了main方法,以便您可以运行代码。
  5. 我希望这有助于您了解更多。尝试进行上面建议的一些更改,然后编译代码。一旦正确编译,您就可以运行它。然后你可以回答我们任何进一步的问题。

答案 1 :(得分:1)

Could not find or load main class assign61

我认为最可能的原因可能是你没有将文件命名为assign61.java(顺便说一句,你应该按照惯例的建议将类名称大写。)

也是在这个时候,为了让你上课,至少你应该有一个主方法。 java的一种便捷方法是在这个类中创建一个main方法。