2017-09-23 53 views
-1
package CS1301; 

public class Homework4 { 

    public static void Questions(int value) { 
     if (value > 0) { 
      int count = 1; 

      while (count <= value) { 
       if (value % count == 0) { 
        System.out.println(count); 
       } 

       count = count ++; 
      } 
     } 
    } 
} 

所以我一直试图让这个工作一下,现在我似乎无法找到我做错了什么。当我尝试运行它时,它说:“没有找到主要方法,但我通过public static void定义的方法,也是为了找到值的因素。这是我的第一个程序,所以任何关于更好格式化的指针都会。可以理解没有找到主要方式

+2

我在那里看不到'main'方法。 –

回答

4

你必须有一个public static void方法称为main,它接受的参数数组;

package CS1301; 

public class Homework4 { 

    public static void Questions(int value) { 
     if (value > 0) { 
      int count = 1; 

      while (count <= value) { 
       if (value % count == 0) { 
        System.out.println(count); 
       } 

       count = count ++; 
      } 
     } 
    } 

    public static void main(String[] args) { 
     Questions(5); 
    } 
} 
+0

您正在使用'main'方法的不正确参数。 –

+0

好吧我得到它的工作,但我想问一下在我最初使用它的上下文中究竟是什么'公共静态无效'。我真的需要它吗?另外,如何正确使用++运算符? – user8662311

+1

重复问题解释每个词的含义。 ++运算符是一个单独的问题(可能已经在本网站上回答了大约25次)。 –

0

在java中,要能推出一些东西,你需要一个特定类型的功能,可被认出起点的代码

  • 它必须是一个void方法
  • 它的名字是main
  • 其参数必须的String一个array(在command-line使用)

像这样:

public static void main(String[] args){ 
    // some code like computation 
    // or function calls 
} 

Further details at Oracle Doc


所以,你有两个选择,把你的代码这个方法里面,或内部的另一个问题:

public static void questions(int value){ 
    // ... your code 
} 

public static void main(String[] args){ 
    questions(2); 
    questions(19); 
} 

OR

public static void main(String[] args){ 
    int value = 5;      // <-- and put you value here 
    if (value > 0) { 
     int count = 1; 
     while (count <= value) { 
      //... 
     } 
    } 
} 
  • 第一种方法是最好的清晰度
  • 更好地尊重约定,并开始用情人案例命名变量和方法名称Questions - >questions
+1

我没有downvote你,但你应该遵循惯例;) –

+0

@ JacobG.like为了什么? – azro

+1

有时你的方法的末端之间有空格,有时候你没有。你的主要方法也不会编译,因为'question'不是一种方法。 –