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);
}
}
答案 0 :(得分:3)
目前你有三个错误 - 一个不是错误,这只是一个非常糟糕的主意。其他的就是你现在遇到的。
首先,您有一个静态方法,但是您将其称为实例方法。不要这样做 - 这意味着你的代码不会做它看起来像它正在做的事情。你应该只通过类名称来调用静态方法:
Z3_2.toUpperCase(...);
第二个问题是您的方法被称为toUpperCase
,但您尝试将其称为Z3_2
,就好像它被称为char
...这是类的名称,而不是方法。
第三个问题是您的方法的参数类型为char[]
,但您尝试传入char
。您需要更改参数类型,或者一次调用一个for (char c : tablica) {
Z3_2.toUpperCase(c);
}
,例如
toUpperCase
此外:
char
方法返回一些内容,因为它的返回类型为toUpperCase
main
Z3_2
的返回值
答案 1 :(得分:0)
您应该可以在main中执行此操作:
Z3_2.toUppeCase('s');
您可以这样做,因为该方法是静态的,并且不需要对象来调用它。
应打印
S
问题的第二部分是传递数组而不是单个char。 你可以做两件事。要么循环调用它。或者让方法接受数组。
方法1:
for(Character ch: tablica){
Z3_2.toUppeCase(ch);
}
方法2:
static char toUpperCase(Character[] t)
{
for(Character ch: t){
System.out.println(ch);
}
}