编写一个带有循环的程序,该循环对输入的所有奇数位求和

时间:2013-10-10 00:46:02

标签: loops netbeans input sum

您好,我目前正在学校接受计算机科学考试,我的两个代码出现问题,第一个与标题有关。我必须创建一个程序,只接受输入的奇数位并对它们求和。老实说,我不知道如何解决这个问题,这就是我所拥有的一切

扫描仪输入=新扫描仪(System.in);

    int a;
    int b;

    System.out.println("Enter a number: ");
    a = in.nextInt();

    while (a > 0) { 
        if (a.charAt(0) % 2 != 0) {

        }
    }

我遇到的第二个问题是用循环编写程序,计算1到100之间所有平方的总和(包括)这是我的代码

    int i=1;
    int j=0;

    while (i<101){
      i = (i * i);
      j= (j+i);
      i++;
    }
    System.out.println(j);

谢谢,我一直在搜索这本书,没有发现任何想法。

2 个答案:

答案 0 :(得分:0)

我不会直接解决您的家庭工作问题。 但它会让你知道该怎么做

  

给定数字中所有奇数的总和

int sum = 0;
while(numbers are still there){
  if(presentNumber % 2 == 1){
     sum += presentNumber;
  }
}

对于第二个问题,如果我理解正确,则平方数之和为1到100

逻辑上,100的平方根是10.所以1到100之间的所有平方数都是1到10(包括1和10)。

  

这是1到10个数字的平方和(1 ^ 2 + 2 ^ 2 + 3 ^ 2 + ... + 10 ^ 2)

int sum = 0;
for(int I=0;i<=10;i++){
   sum += (i*i);
}

答案 1 :(得分:0)

有多种方法可以接近第一个选项(奇数/偶数):

if ( x & 1 == 0 ) { even... } else { odd... } //This is because the low bit will always be set on an odd number.

或者您可以执行以下操作:

boolean isEven(double num) { return (num % 2 == 0) }

检查Check whether number is even or odd以获取更多选项。

现在关于广场,请查看Fastest way to determine if an integer's square root is an integer以获取答案