[英]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.