这段代码如何显示编译error-void是变量测试的无效类型
public class Tester{
public static void main(String[] args){
static void test(String str){
if (str == null | str.length() == 0) {
System.out.println("String is empty");
}
else {
System.out.println("String is not empty");
}}
test(null);
答案 0 :(得分:4)
您尝试在另一个方法(test
)中声明一个方法(main
)。不要那样做。将test()
直接移到课堂中:
public class Tester{
public static void main(String[] args) {
test(null);
}
static void test(String str) {
if (str == null | str.length() == 0) {
System.out.println("String is empty");
} else {
System.out.println("String is not empty");
}
}
}
(请注意,我还修复了缩进和空格。您可以使用各种约定,但是您应该比问题中的代码更一致且更清晰。)
答案 1 :(得分:0)
您无法在其他方法中声明方法。从test
推迟main
。而你也无法从课堂上调用方法。 test(null);
必须在方法内,例如main。
public class Tester{
public static void main(String[] args){
test(null);
}
static void test(String str){
if (str == null | str.length() == 0) {
System.out.println("String is empty");
}
else {
System.out.println("String is not empty");
}
}
答案 2 :(得分:0)
您的方法测试在另一种方法中。
只需将测试方法放在主体之外。
答案 3 :(得分:0)
public class Tester{
public static void test(String str){
if (str == null || str.length() == 0) {
System.out.println("String is empty");
}
else {
System.out.println("String is not empty");
}
}
public static void main(String[] args){
test(null);
}
}
您还必须添加双精度数或操作数(||)才能在没有空指针异常错误的情况下正常工作。
答案 4 :(得分:0)
您在main方法中声明测试方法。因此,将测试方法与main分开。
public class Tester
{
public static void test(String str)
{
if (str == null || str.length() == 0)
{
System.out.println("String is empty");
}
else
{
System.out.println("String is not empty");
}
}
public static void main(String[] args)
{
test(null);
}
}