A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 杨奉泊 中级黑马   /  2015-5-28 15:48  /  713 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

public static void main(String[] arges)
        {
                int n = 10;
                int zhonghe = 0;
                int a = n-1;
                for(int i=0; i<a; i++)
                {
                        zhonghe = (n-1)+(n-2);
                        n= n-1;
                }
                System.out.println(zhonghe);
        }

8 个回复

倒序浏览
你想让它是多少?
回复 使用道具 举报
本帖最后由 ETOLIA 于 2015-5-28 16:15 编辑
  1. </blockquote><div class="blockcode"><blockquote><blockquote>public class Test3 {
  2.         public static void main(String Args[]){
  3.                  int n = 10;
  4.          int zhonghe = 0;
  5.          int a = 9;
  6.          for(int i=0; i<a; i++)
  7.          {
  8.                  zhonghe = 2*n-3;
  9.                  n--;
  10.                  System.out.println(zhonghe);
  11.          }
  12.          System.out.println(zhonghe);
  13.         }
  14. }
复制代码

你每for一下就给zhonghe重新赋了一次值。所以每次得到的就是一个新的,最后就是1。要是想得到一个加和的,你应该改成zhonghe += 2*n-3;这样。
回复 使用道具 举报
zhonghe = (n-1)+(n-2);你这样写zhonghe的值只会是for循环里(n-1)+(n-2)最后一次的和,而最后就是n=2,zhonghe=(2-1)+(2-2);n=2-1;
回复 使用道具 举报
你的zhonghe没有记录,每次遍历就重新赋值一次,所以,你的结果就是1
回复 使用道具 举报
ETOLIA 发表于 2015-5-28 16:14
你每for一下就给zhonghe重新赋了一次值。所以每次得到的就是一个新的,最后就是1。要是想得到一个加和的, ...

知道了  谢谢
回复 使用道具 举报
星辉祝愿 发表于 2015-5-28 16:21
zhonghe = (n-1)+(n-2);你这样写zhonghe的值只会是for循环里(n-1)+(n-2)最后一次的和,而最后就是n=2,zhon ...

恩 我应该写 zhonghe = zhonghe +(n-1)+(n-2);
回复 使用道具 举报
小水 中级黑马 2015-5-28 18:23:23
8#
只能是1啊
回复 使用道具 举报
到最后一次循环,n的值为2当然结果为1
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马