平台网站应该怎样做seo,常州市经开区建设局网站,专门做画册的网站,东莞最新出入政策自学Java遇到的问题1goto语句的问题1.1 背景2.1 尝试3.1 总结goto语句的问题今天是我自学Java第4天#xff0c;开始写博客记录学习中遇到的问题。给后来者一些借鉴#xff0c;也给自己以后回过来在看这些问题提供资料。1.1 背景我是先自学过一段时间C#xff0c;然后隔了很长…自学Java遇到的问题1goto语句的问题1.1 背景2.1 尝试3.1 总结goto语句的问题今天是我自学Java第4天开始写博客记录学习中遇到的问题。给后来者一些借鉴也给自己以后回过来在看这些问题提供资料。1.1 背景我是先自学过一段时间C然后隔了很长一段时间没碰代码重新学的Java最近学到if语句的时候想实现一个“输入错误重新输入”的功能首先想到了标签功能。因为在C语言体系中可以用goto语句来实现的。然后我在Java中尝试了一下。2.1 尝试就上面的问题我尝试了一下代码如下import java.util.*;public class IfTest03{public static void main(String[] args){Scanner in new Scanner(System.in);int weather 0;//输入天气lable1:System.out.print(请输入外面的天气 1雨天 2晴天);weather in.nextInt();if (weather ! 1 weather ! 2){System.out.println(天气输入出错请重新输入);goto lable1;}编译结果IfTest03.java:24: 错误: 非法的表达式开始goto lable1;^IfTest03.java:24: 错误: 不是语句goto lable1;^2 个错误 ## 2.2 尝试 本着不会就问度娘的原则百度了一番发现在Java语言中goto是一个保留的关键字但是不能用也没有作用。后来看到一种说法是可以和break/continue一起使用尝试了一下 javascript lable1: do { System.out.print(请输入外面的天气 1雨天 2晴天); weather in.nextInt(); if (weather ! 1 weather ! 2){ System.out.println(天气输入出错请重新输入); break lable1; }else{ break; } }while (true); 编译运行结果不理想输入1可以输入2逻辑出问题但是后面的逻辑没问题。 请输入外面的天气 1雨天 2晴天2 天气输入出错请重新输入 请输入您的性别 1男生 2女生请输入外面的天气 1雨天 2晴天3 //这边考虑是执行了break直接跳过了。天气输入出错请重新输入请输入您的性别 1男生 2女生把“break lable1;”改成“continue lable1;”逻辑就通畅了。//输入天气lable1:do {System.out.print(请输入外面的天气 1雨天 2晴天);weather in.nextInt();if (weather ! 1 weather ! 2){System.out.println(天气输入出错请重新输入);continue lable1;}else{break;}}while (true); 运行结果 请输入外面的天气 1雨天 2晴天3 天气输入出错请重新输入 请输入外面的天气 1雨天 2晴天2 请输入您的性别 1男生 2女生1 ## 2.3 优化 百度的过程中发现其实可以直接用循环就可以了也不用标签什么的麻烦 最后的代码如下 javascript //输入天气 while(true){ System.out.print(请输入外面的天气 1雨天 2晴天); weather in.nextInt(); if (weather ! 1 weather ! 2){ System.out.println(天气输入出错请重新输入); }else{ break; } } 3.1 总结不会一定要问虽然不一定是度娘。Java中(其他语言也差不多吧)的goto语句可以用循环代替仔细思考其中的逻辑其实就是输入错误重新输入重在一个重新的重再跟循环的逻辑比对一下循环不就是重复嘛。想通了。不会的还是要多尝试本人是初学者最后代码虽然说是优化但应该还有改进的地方以上内容纯手打码字不易如需转载请声明出处谢谢作者LouisHaoL