break out,continue out的小案例

xiaoxiao2025-06-09  13

案例涉及两点:

1、控制循环流程:label在break、continue中的使用; 2、in.hasNextInt()判断程序接收到的是否为整数。

说明

out只是一种标号(label),label用可以有用in、out、a、b代替都一样,可以看做是给代码命名。 break label表示结束label:后面的循环,continue label表示重头开始label:后面的循环。

in.hasNextInt()判断in.next() 接收到的数据

in.next() 接收到整数,in.hasNextInt()判断的循环结束

//此处代码中的循环接收到整数才会结束 //in.hasNextInt()结果为布尔类型:true/false,输入整数时结果为true //不使用in.next()的话,in.hasNextInt()只储存对第一次接收到的数据所做的判断结果 //in.next()可以重复接收数据,接收字符串到in.hasNextInt()判断是否为整型 Scanner in = new Scanner(System.in); while(!in.hasNextInt()){ //输入的不是整数时,!in.hasNextInt()结果为true,循环继续 System.out.println("输入的不是整数!"); in.next();//接收到整数后循环结束 }

完整代码

import java.util.Scanner; public class BreakContinue_LabelOut { public static void main(String args[]) { out:while(true){//无限循环,循环体内部设置结束语句 int sum=0; int data; System.out.println("请输入一个大于等于3的整数:"); Scanner in = new Scanner(System.in); while(!in.hasNextInt()){//循环直到输入整数 System.out.println("输入有问题,您输入的不是整数!\n请输入一个大于等于3的整数:"); in.next(); } data = in.nextInt(); if(data>=3) {//该整数>=3,开始进行运算 for(int i=1;i<=data;i++){//关键运算代码 sum+=i; } System.out.println("1+2+…+"+data+"="+sum); //判断是否继续运算,输入y或n得到判断结果后判断结束 in:while(true){ System.out.println("是否继续:是y,否n"); String t=in.next(); if(t.equals("y")){//输入y继续运算 continue out;//continue out跳出,继续out后面的循环 }else if(t.equals("n")){//输入n,结束运算 break out;//break out跳过out后面的循环,执行后面的代码 }else{//输入的不是y或n。(大括号可去) System.out.println("请输入y或n!"); continue in;//输入错误,继续当前in循环。 } }//in循环尾括号 }//输入的整数>=3 else {//输入的整数<3 System.out.println("输入有问题,您输入的整数不符合要求!"); continue out;//继续out循环,重新接收整数 }//输入整数时的判断if }//第1层out循环结束 System.out.println("谢谢!"); } }

初次发帖,欢迎指出代码的可完善之处!

转载请注明原文地址: https://www.6miu.com/read-5031533.html

最新回复(0)