Java学习笔记14---使用标志位控制循环

使用标志位控制循环

前面提到了控制循环的常用技术:计数器控制的循环.另一种控制循环的常用技术是在读取和处理一个集合的值时指派一个特殊值.这个特殊的输入值也成为标志值(sentinel value),用以表明循环的结束.如果一个循环使用标志值来控制它的执行,他就称为标志位控制的循环(sentinel-controlled loop).


在循环控制中,不要使用浮点值来比较值是否相等.因为浮点值都是某些值的近似值,使用它们可能导致不精确的循环次数和不准确的结果.

输入和输出重定向
输入重定向指从文件读取输入,而不是从键盘.
输出重定向指将输出发送给文件,而不是屏幕.

SentineValue类代码在文末,在F:\workspace\Welcome\bin目录下新建input.txt文件,内容如下:

 

 

 

package welcome;

import java.util.Scanner;
/*
 * 用来读取和计算个数不确定的整数之和,输入0则表示输入结束
 */
public class SentinelValue {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);

        System.out.print("输入一个整数,若输入0将退出: ");
        int data = in.nextInt();

        int sum = 0;
        while (data != 0) {
            sum = sum + data;

            System.out.print("输入一个整数,若输入0将退出:");
            data = in.nextInt();
        }
        System.out.println("The sum is " + sum);
    }
}

 

转载于:https://www.cnblogs.com/datapool/p/6219172.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值