练习-Java循环do…while之正负数数量统计

任务描述

本关任务:循环获取给定值(整数),判断给定值的正数个数和负数个数(键盘输入的数值之间用空格分隔,最后输入的是一个 % 字符,当获取到这个字符时,跳出循环)。

输出格式:正数个数为:xx。负数个数为:xx

编程要求

仔细阅读右侧编辑区内给出的代码框架及注释,按照提示编写程序代码。

/*
任务:统计给定一列数的正数和负数个数
给定的数举例:-1 2 3 -4 %
其中%用于while中,判断输入结束
*/

import java.util.Scanner;

public class DWhile {
    public static void main(String[] args) {
        // 定义变量positive,并赋初值0,用于统计正数个数
        int positive=0;
        // 定义变量negative,并赋初值0,用于统计负数个数
        int negative=0;
        
        // 创建Scanner对象
        Scanner input = new Scanner(System.in);
        
        // 在do后的花括号中编写循环语句
        do{
        // 请在 Begin-End 间编写代码
        /********** Begin **********/
            // 第一步: 获取输入值
            int n = input.nextInt();
            // 第二步:判断输入值是否为正数,如果是,把正数个数变量positive加1
           if(n>0){
               positive++;
           }
            // 第三步:判断输入值是否为负数,如果是,把负数个数变量negative加1
           if(n<0){
               negative++; 
            }
            if(n==0){
                continue;
            }
        }
           // 第四步:在while后判断条件,当输入值的下一个值为%时,终止循环
        while(!input.hasNext("%"));
           // 第五步:输出正数和复数个数,具体格式见预期输出
        System.out.printf("正数个数为:%d。负数个数为:%d",positive,negative);
        /********** End **********/
    }
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: 以下是使用Java循环do…while统计正负数数量的示例代码: ``` import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner input = new Scanner(System.in); int positiveCount = ; // 正数数量 int negativeCount = ; // 负数数量 int number; // 输入的数 do { System.out.print("请输入一个整数(输入结束):"); number = input.nextInt(); if (number > ) { positiveCount++; // 如果是正数,正数数量加1 } else if (number < ) { negativeCount++; // 如果是负数负数数量加1 } } while (number != ); System.out.println("正数数量:" + positiveCount); System.out.println("负数数量:" + negativeCount); } } ``` 运行结果: ``` 请输入一个整数(输入结束):5 请输入一个整数(输入结束):-3 请输入一个整数(输入结束): 正数数量:1 负数数量:1 ``` ### 回答2: java中的循环结构do...while可以用于重复执行一段代码,就算条件不成立也会执行一遍。在循环操作中,我们可以使用do...while循环来完成正负数数量统计。 首先,定义两个计数器变量pos和neg,分别用于记录输入的正数和负数数量。然后,使用Scanner类创建一个对象,实现用户从键盘上输入的功能。使用do...while循环,每次读取一个整数,并判断正、负或零。如果是正数,则把计数器变量pos加1;如果是负数,则把计数器变量neg加1;如果是零,则不进行计数操作。最后输出pos和neg的值,得到正数和负数数量。 示例代码如下: ```java import java.util.Scanner; public class DoWhileCount { public static void main(String[] args) { int pos = 0, neg = 0, num; Scanner sc = new Scanner(System.in); do { System.out.print("请输入一个整数:"); num = sc.nextInt(); if (num > 0) { pos++; } else if (num < 0) { neg++; } } while (num != 0); System.out.println("输入的正数数量为:" + pos); System.out.println("输入的负数数量为:" + neg); } } ``` 上述代码中,我们通过使用do...while循环,实现了对正数和负数数量统计。在循环中,使用Scanner类读取用户从键盘输入的整数,并根据输入值的正、负和零情况来进行计数。最后,通过输出pos和neg的值,得到正数和负数数量。 ### 回答3: Java编程语言中,do…while循环结构可用于执行一段代码块,然后再进行循环检查。与while循环不同的是,do…while循环必须至少执行一次代码块。本题要求使用do…while循环统计输入的正数和负数数量。 一般来说,可以使用Java的Scanner类来获取用户的输入。具体方法是创建Scanner对象,然后使用该对象的nextInt()方法来获取输入的整数。判断该整数为正数还是负数,可以使用if…else语句,如果该整数大于0,则为正数,否则为负数。通过累加正数和负数数量的方式,最终可以统计出输入的正数和负数数量。 示例代码如下: ``` import java.util.Scanner; public class CountPositiveAndNegativeNumbers { public static void main(String[] args) { int positiveCount = 0; int negativeCount = 0; Scanner scanner = new Scanner(System.in); do { System.out.println("请输入一个整数:"); int number = scanner.nextInt(); if (number > 0) { positiveCount++; } else if (number < 0) { negativeCount++; } } while (true); System.out.println("正数的数量:" + positiveCount); System.out.println("负数数量:" + negativeCount); } } ``` 上述代码先初始化了正数和负数数量为0,然后使用Scanner类获取用户的输入。在do…while循环中,首先提示用户输入一个整数,然后获取该整数。如果该整数大于0,则说明为正数,positiveCount数量加1;否则,如果该整数小于0,则说明为负数,negativeCount数量加1。由于循环条件为true,则会一直反复执行以上代码块,直到用户主动中断程序。 最后,输出正数和负数数量即可。这里未考虑用户输入非数字的情况,建议在实际开发时对输入的数据类型进行校验。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值