错误: 在类 com.zs.container.CollectionData 中找不到主方法, 请将主方法定义为: public static void main(String[] args)

错误: 在类 com.zs.container.CollectionData 中找不到主方法, 请将主方法定义为:

public static void main(String[] args)

package com.zs.container;
import java.util.ArrayList;
import com.java.array.generator.CountingGenerator.String;

import com.java.array.generator.CountingGenerator;
import com.java.array.generator.Generator;

public class CollectionData<T> extends ArrayList<T> {
    public CollectionData(Generator<T> gen, int quantity) {
        for (int i = 0; i < quantity; i++)
            add(gen.next());
    }
    // A generic convenience method:
    public static <T> CollectionData<T> list(Generator<T> gen, int quantity) {
        return new CollectionData<T>(gen, quantity);
    }
    public static void main(String[] args) {
        System.out.println("start");
        Generator<java.lang.String> gen =new CountingGenerator.String();
        ArrayList<java.lang.String> list=new CollectionData<java.lang.String>(gen,8);
        System.out.println(list);
    }
}

Error: the class com. Zs. Container. Can‘t find the main method in the CollectionData, please will be the main method is defined as: Public static void main (String [] args)

what‘s wrong? of course i have the main method!why error happened??

suprise!when i remove this line " import com.java.array.generator.CountingGenerator.String;" it works well!why???

the com.java.array.generator.CountingGenerator.String code:

package com.java.array.generator;

 public class CountingGenerator {

    static char[] chars = ("abcdefghijklmnopqrstuvwxyz"
            + "ABCDEFGHIJKLMNOPQRSTUVWXYZ").toCharArray();

    public static class Character implements Generator<java.lang.Character> {
        int index = -1;

        public java.lang.Character next() {
            index = (index + 1) % chars.length;
            return chars[index];
        }
    }
    public static class String implements Generator<java.lang.String> {
        private int length = 7;
        Generator<java.lang.Character> cg = new Character();

        public String() {
        }

        public String(int length) {
            this.length = length;
        }

        public java.lang.String next() {
            char[] buf = new char[length];
            for (int i = 0; i < length; i++)
                buf[i] = cg.next();
            return new java.lang.String(buf);
        }
    }
} 

解决:

Use

public static void main(java.langString[] args)

Why? Because the String is
interpreted as

import com.java.array.generator.CountingGenerator.String;
时间: 2024-08-06 04:48:38

错误: 在类 com.zs.container.CollectionData 中找不到主方法, 请将主方法定义为: public static void main(String[] args)的相关文章

错误: 在类 Main 中找不到 main 方法, 请将 main 方法定义为: public static void main(String[] args) 否则 JavaFX 应用程序类必须扩展javafx.application.Application

错误: 在类 Main 中找不到 main 方法, 请将 main 方法定义为: public static void main(String[] args)否则 JavaFX 应用程序类必须扩展javafx.application.Application 出现这种错误的原因其中一种就是 导包时错把其他的String包导入,以至于找不到main(String[ ]  args) 原文地址:https://www.cnblogs.com/mibloom/p/9497357.html

eclipse 运行错误:在类XXX中找不到 main 方法, 请将 main 方法定义为: public static void main(String[] args) 否则 JavaFX 应用程序类必须扩展javafx.application.Application

新建了一个类Hello: 代码: 第一次运行报错: 点击关闭该类的界面时出现: 点击是,然后再次打开,可以正确执行,结果为: 这是为什么....

第三次博客作业package com.fry; //导入java.util.Arrays; import java.util.Arrays; public class Demo1 { public static void main(String[]args){ //创建对象,对象名为hello Demo1 hello =new Demo1(); //调用方法并将返回值保存在变量中

1.  某网站管理系统,用户注册时,电话号码为可选输入项,输入格式为:区号-电话号码—分机号,中间用“-”隔开.以下为jsp页面上的设计,且并未对输入做任何控制. 假设系统现在需要取出中间的电话号码部分,代码如下: /** * * 该方法根据用户输入取出中间的电话号码部分 * @param strPhoneNum 电话号码,如:“0591-83279988—002” * @return 返回号码部分,如:“83279988” */ public String getPhoneNumber(Str

C#中static void Main(string[ ] args)中的作用及解释

C#中static void Main(string[ ] args)中的作用及解释 static 表示方法是静态的就是说方法在程序被编译的时候就被分配了内存,使用的时候不用生成某个类型的对象,知道程序退出才释放. void 表示方法没有返回值,就是方法没有renturn 关键字. main 是方法名,当然这个方法是特殊的方法,是Main()就是说是主函数,就是整个程序的入口,程序被编译后从这里开始执行,这也是main方法要是static的原因,因为在啥都没做的时候这个函数就得存在. strin

C#中static void Main(string[] args)的含义

C#中static void Main(string[] args)的含义 static:是将main方法声明为静态的. void:说明main方法不会返回任何内容. String[]args:这是用来接收命令行传入的参数,String[]是声明args是可以存储字符串数组. 运行时会弹出命令窗口,你可以在那里输入一些参数,string[] args 指的就是你在命令窗口输入的参数. 也就是命令行参数. args是用来处理命令行参数的.命令行参数,就是你运行这个程序的时候给它传的参数.它是可选项

C# static void Main(String[] args) 中参数String[] args 的理解

定义一个String[]类型的数组args,表示从命令行传入的参数(类似于Java) ,假如在命令行输入: 1 d:\A.exe a ab abc 表示在d盘的根目录下执行A.exe 这个可执行文件,传入参数有3个分别是 a ab abc   ,即args[0]="a"  , args[1]="ab" ,args[2]="abc"

带有public static void main方法的类,其中的成员变量必须是static的,否则main方法没法调用。除非是main里的局部变量。因为main方法就是static的啊。

public static void speckOnWin7(string text),在win7中读文字

public static void speckOnWin7(string text) {    //洪丰写的,转载请注明 try { string lsSource = ""; //if (File.Exists(Application.StartupPath + "\\Error.txt")) // lsSource = File.ReadAllText(Application.StartupPath + "\\Error.txt"); //

在java中public void与public static void区别

static 方法可以被main方法直接调用,而非static方法不可以.因为static方法是属于类的,是类方法.可以通过类名.方法名直接调用.而非static方法必须等对象被new出来以后才能使用,因而不能在main中直接调用. public void 修饰是非静态方法,该类方法属于对象,在对象初始化(new Object())后才能被调用:public static void 修饰是静态方法,属于类,使用类名.方法名直接调用. Java 可以通过对象名调用静态方法(对象名.静态方法).Ja