Java 计算正数和负数 公共课堂练习\u 442{ /** *@param指定命令行参数 */ 公共静态void main(字符串[]args){ 整数计数=0; int正=0; int负=0; int nums=0; 整数和=0; 扫描仪键盘=新扫描仪(System.in); System.out.println(“请输入一个正整数或负整数”); nums=keyboard.nextInt(); while(nums!=0){ 总和+=nums; System.out.println(“请输入正整数或负整数”); nums=keyboard.nextInt(); 如果(nums0) 正++; } System.out.println(“这些数字的总和为”+总和); System.out.println(“此处负数的数量为”+负数); System.out.println(“此处正数的数量为”+正数); } }

Java 计算正数和负数 公共课堂练习\u 442{ /** *@param指定命令行参数 */ 公共静态void main(字符串[]args){ 整数计数=0; int正=0; int负=0; int nums=0; 整数和=0; 扫描仪键盘=新扫描仪(System.in); System.out.println(“请输入一个正整数或负整数”); nums=keyboard.nextInt(); while(nums!=0){ 总和+=nums; System.out.println(“请输入正整数或负整数”); nums=keyboard.nextInt(); 如果(nums0) 正++; } System.out.println(“这些数字的总和为”+总和); System.out.println(“此处负数的数量为”+负数); System.out.println(“此处正数的数量为”+正数); } },java,Java,当我输入正数和负数时,我需要在这里计算它们。当用户输入0时,它会显示这些。它可以计算负数并得到总和,但我不知道当它计算正整数时为什么会少于一个数字?当您第一次进入while循环时,您的第一个nums被忽略+/- 假设您输入1作为nums。它将在总和上加1,然后请求一个新的输入,而不计算>或第二个nums=keyboard.nextInt()就是这样。@btrs20谢谢。我在我的答案中加入了整个方法,使之更清楚。 public class Exercise_442 { /** * @param

当我输入正数和负数时,我需要在这里计算它们。当用户输入0时,它会显示这些。它可以计算负数并得到总和,但我不知道当它计算正整数时为什么会少于一个数字?

当您第一次进入while循环时,您的第一个nums被忽略+/-


假设您输入1作为
nums
。它将在总和上加1,然后请求一个新的输入,而不计算>或第二个
nums=keyboard.nextInt()就是这样。@btrs20谢谢。我在我的答案中加入了整个方法,使之更清楚。
public class Exercise_442 {

/**
 * @param args the command line arguments
 */
public static void main(String[] args) {

    int count=0;
    int positive=0;
    int negative =0;
    int nums=0;
    int sum=0;

    Scanner keyboard = new Scanner(System.in);
    System.out.println("Pleaes enter a positive or negative integer");
    nums = keyboard.nextInt();


    while(nums!=0){
        sum+=nums;
        System.out.println("Plese enter a positive or negative integer");
        nums = keyboard.nextInt();

        if(nums<0)
            negative++;

         if (nums>0)
            positive++;

    }
    System.out.println("The sum of these numbers is " +sum);
     System.out.println("The amount of negative numbers here is " + negative);
      System.out.println("The amount of positive numbers here is " + positive);
    }
  }
    while(nums!=0){
        sum+=nums;

        //moved everything up before we pull nextInt
        if(nums<0)
            negative++;

         if (nums>0)
            positive++;

        System.out.println("Plese enter a positive or negative integer");
        nums = keyboard.nextInt();

    }