当前位置: 代码迷 >> Java相关 >> 【新人贴】帮我解释下这两个问题
  详细解决方案

【新人贴】帮我解释下这两个问题

热度:232   发布时间:2013-09-24 20:15:33.0
【新人贴】帮我解释下这两个问题
public class chongfu1 {
    public static void main(String[] args){
public static void main(String[] args)      
int x = 1;
        int sum = 0


    while  (x <= 100) {
        
         sum = sum +x;
         x = x+1;

              
     }
System.out.println("总数 = "+sum);

     }
   
上面是正确的带代码

问题
第一个 我刚刚把它写成这样子了
        int x = 1;
        int sum = 0
public static void main(String[] args)

后面调用X的时候 系统就要求把上面的 int x  写成 static int x  这个帮我解释下



第二个问题
我刚刚把 x= x+1 写在了 sum= sum+x 上面了 然后得出来的结果是 5150  那正确的结果是5050  这个为什么帮我 解释下 谢谢


[ 本帖最后由 christxh 于 2013-9-24 20:18 编辑 ]
----------------解决方案--------------------------------------------------------
首先以后贴代码用代码标签括起来,这样人家看的也舒服多了。最后不是重点部分不要上色,你高这么多乱七八糟的颜色干吗?
回答第一个问题:
这涉及变量的作用域问题,还有就是静态变量和类变量的区别。
你所说的正确代码,是把变量定义在方法体中。这样他的作用域是改方法体。
这是可以调用的,不用说什么
下面你改了代码,把他定义在类中,类变量在方法中调用需要实例化之后才行。静态变量不需要,
建议:
1,代码格式写规范些,
2,写完代码自己做过测试看对不对。有没有异常
3,基础的问题自己最好先百度或谷歌一下,不要什么问题都拿出来问,等你上网查完还不清楚不明白的在问。很白的问题就忽略了%……&
第二个算法自己想吧,可以把数字改小些,10以内,相信你一眼就看出来了。
----------------解决方案--------------------------------------------------------
能告诉我你写了两个main 怎么运行的么??
----------------解决方案--------------------------------------------------------
他应该是在新建的时候勾选了,然后自己也没有看就有写个了main方法,这就是正确代码了,没有运行过,没有测试……&*(
----------------解决方案--------------------------------------------------------
  相关解决方案