繁体   English   中英

如何在主类中从类Z3_2调用该方法?

[英]How can I call the method from class Z3_2 in main class?

public class Z3_2_Tester{

    public static void main(String[] args){

        char[] tablica = {'S','O','M','E','T','E','X','T'};
        Z3_2 z = new Z3_2();


        z.Z3_2(tablica);
    }
}

class Z3_2{
    static char toUpperCase(char t)
    {
        //tablica = t;
        System.out.println(t);
    }
}

您目前有3个错误-一个不是错误 ,这只是一个错误的主意。 其他是您目前遇到的问题。

首先,您有一个静态方法,但您将其当作实例方法来调用。 不要那样做-这意味着您的代码没有像看起来的那样做。 您应该仅通过类名称调用静态方法:

Z3_2.toUpperCase(...);

第二个问题是您的方法名为toUpperCase ,但是您试图像调用Z3_2一样调用它……那是类的名称,而不是方法。

第三个问题是您的方法的参数类型为char ,但是您试图传递char[] 您要么需要更改参数类型,要么一次只用一个char调用它,例如

for (char c : tablica) {
    Z3_2.toUpperCase(c);
}

另外:

  • 考虑到它的返回类型为char ,您需要使toUpperCase方法返回某些内容
  • 您几乎应该确定在main使用toUpperCase的返回值
  • Z3_2的类名是没有意义的。 名称很重要-仔细选择它们。

您应该可以在main中执行此操作:

Z3_2.toUppeCase('s');

您可以执行此操作,因为该方法是静态的,不需要对象即可调用它。

它应该打印

S

问题的第二部分是传递数组而不是单个char。 您可以做两件事。 要么循环调用它。 或使方法采用数组。

方法1:

for(Character ch: tablica){
     Z3_2.toUppeCase(ch);
}

方法二:

static char toUpperCase(Character[] t)
{
    for(Character ch: t){ 
        System.out.println(ch);
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM