2015-02-06 79 views
0

对于我的班级,我需要编写将数字1-100加起来的代码,它们将产生数字5050.他告诉我们不要使用主要方法并使用for循环。是一个主要的方法'公共静态无效主要(字符串[] args)'或别的东西。我对主要方法究竟是什么感到困惑。这里是我到目前为止,工程没有主要方法的Java程序

public class SumAndAverageForLoop{ 
    public static void main (String[] args) { 
     int sum = 0; 
     for (int i = 1; i <= 100; i++) sum += i; 
     System.out.println("The sum is " + sum); 
    } 
} 

代码从我读更多谈话类中的一些其他的孩子后,他们说我需要另一个类调用这个类,但怎么个主要方法你是否从另一个班打电话给一个班?

如何调用另一个具有主方法的类?

+0

在你的代码中,是的,你有那个“主要方法”; JDK要求它能够运行程序。你使用for循环的事实与你在main()中使用它无关。我真的不明白你的老师在做什么。 – fge 2015-02-06 23:24:57

+0

不使用主要方法的要求很奇怪。但是,再一次,一些老师是跛脚的。所以,拧紧它:继续,写一个主要方法,并从它调用AddOneToOneHundred方法,以确保它的工作,然后在开始分配之前删除主要方法。 – 2015-02-06 23:28:51

+0

[在不使用main()方法的情况下在控制台上打印消息的可能的重复(http://stackoverflow.com/questions/8605137/printing-message-on-console-without-using-main-method)(但请注意,这在版本7和更高版本中不起作用) – iamnotmaynard 2015-02-06 23:37:56

回答

2

是的public static void main(String[] args)签名是主要方法。

这听起来像你正在编写库样式的代码。所以,只需创建一个具有有意义名称的方法来代码就可以了。像AddOnetoOneHundred或类似的。

你可以这样创建一个方法:

public static int CountUp() { 
    // code that was in your main method before 
} 

仔细检查你的任务,你的教学可能已指定类和方法名,已经有一个计划,将测试代码。

+0

您究竟如何创建一个方法? – 2015-02-06 23:29:11

0

尝试创建一个方法来进行计算。这个想法是创建可单元测试的代码。

public class SumAndAverageForLoop{ 
    public static void main (String[] args) { 
     int returned = SumUp(1, 100); 
     System.Out.Println("sum is " + returned); 
    } 
    public int SumUp(int startInt, int endInt) { 
     int sum = 0; 
     if (endInt > startInt) { 
     for (int i = startInt; i <= endInt; i++) sum += i; 
     } 
     return sum; 
    } 
} 
0

答案很简单:

是的,(public static void main (String[] args))的主要方法。

龙答:

主要方法是应用程序的入口点。没有它,你可能有代码,但代码必须以某种方式链接到主要方法,否则它不能运行。与直觉相反,主要方法并不一定是一种方法。在C中,可以创建一个名为main的整数数组并执行它。它会将整数转换为十六进制,并为每一个迭代执行相应的汇编命令。

如果你做了教授说的话,你将无法将程序作为可执行文件进行测试。他可能有一个程序来运行你的代码并为他测试,这就是为什么他不想要一个主要方法。

1

一个主要的方法是任何给定程序的基础,因为Java编译器搜索该方法作为执行的起点。但是,你正在试图做一个实用类:

class SumAndAverageForLoop { 

    // no main method 

    public static int sum() { 
     int sum = 0; 
     for (int i = 1; i <= 100; i++) sum += i; 
     System.out.println("The sum is " + sum); 
    } 
} 

class MainClassProgram { 

    // main in another class 

    public static void main() { 
     SumAndAverageForLoop.sum(); 
    } 
} 
0

我不确定你的老师的意思是“不使用主要方法”。但是你可以在你的main方法之外声明一个方法并从那里调用它;

public class SumAndAverageForLoop{ 
    public static void main (String[] args) { 
     makeSum(); 
    } 

    public static void makeSum() { 
     int sum = 0; 
     for (int i = 1; i <= 100; i++) { 
      sum += i; 
     } 
     System.out.println(sum); 
    } 
} 

另外,由于您的某条评论问了“如何创建方法?”。

我建议你阅读一些初学者的书。我推荐这本书Head First Java。

相关问题