java:25:类、接口或枚举应为public static void main(String s[]){



我正在尝试制作一个程序来计算字符串中的单词。

以下是我的代码,以及我的代码中出现的错误,我无法更正它们:

import java.util.*;    
class string1 {
    public static int wordcount() {
        String str;
        Scanner s1= new Scanner(System.in);
        System.out.println("Enter String:");
        str=s1.nextLine();
        int count=WCount(str);
        System.out.println("Count="+count);
    }
    public static int WCount(String str) {
        int l=str.length();
        int count=0;
        for(int i=0;i<l;i++) {
            if(str.charAt(i)==' ')
                count++ ;
        }
        if(count>0) 
            count++ ;
        return(count);
    }
}
public static void main (String s[]) {
    string1 ss=new string1();
    ss.wordcount();
}

错误:

java:25: class, interface, or enum expected
public static void main(String s[]) {
          ^
C:UserscooclDesktopjavastring1.java:27: class, interface, or enum expected
ss.wordcount();
^
C:UserscooclDesktopjavastring1.java:28: class, interface, or enum expected}3 errors
Process completed.

您的main不在类中。在类内部声明它。

main方法属于类内部。当您运行java来执行编译的代码时,它将尝试运行属于您指定的类的main方法。更一般地说,方法不能在java中的类之外声明:所有方法都必须属于一个类。

注意,由于方法wordcountWCount都是静态的,因此不需要创建string1实例来使用它们,只需在main:中的类上调用它们即可

string1.wordcount();

最后,在java中,类名通常以大写字母开头,例如String1,请参阅以下命名约定。

在WCount之后有一个额外的}

main方法必须在类内部,而不是外部。你有两种方法:

  1. string1类中移动它。

  2. 将其移动到同一*.java文件中的类中

    public class Main {
        public static void main (String s[]) {
            string1 ss=new string1();
            ss.wordcount();
        }
    }
    

不良做法:

string1 ss=new string1(); 
ss.wordcount(); 

Java类名中的第一个字符必须是UPPER和
Java方法和字段名称中的第一个字符必须是LOWER大小写
JAVA常量(静态最终)名称中的所有字符都必须是大写
wordCount()=静态方法和创建对象(字符串1 ss=新字符串1())不为true
静态字段和方法需要从类名(而不是实例类)调用
ClassName。(方法/字段)
必须是String1.wordCount()

您的代码有多个问题(在"{}"中,在wordcount()中为"return")参见代码:

public class Test {
    public static int wordcount() {
        String str;
        Scanner s1 = new Scanner(System.in);
        System.out.println("Enter String:");
        str = s1.nextLine();
        int count = WCount(str);
        System.out.println("Count=" + count);
        return count;
    }
    public static int WCount(String str) {
        int l = str.length();
        int count = 0;
        for (int i = 0; i < l; i++) {
            if (str.charAt(i) == ' ')
                count++;
        }
        if (count > 0)
            count++;
        return (count);
    }
    public static void main(String s[]) {
                Test.wordcount();
    }
}

相关内容

  • 没有找到相关文章

最新更新