Tag: while loop

while()循环用于用户输入

我正在设置一个while()执行,直到用户输入一个整数。 但是,就我现在的方式而言,循环在”Please enter an integer”后再次输出消息”Please enter an integer” ,然后程序正常执行。 有人建议在输入整数后再次打印该消息的方法吗? 谢谢! System.out.println(“Enter word length”); if(in.hasNextInt()) { n = in.nextInt(); } else { while(in.hasNext()) //this is the loop i’m talking about { System.out.println(“Please enter an integer”); if(in.hasNextInt()) { n = in.nextInt(); break; } else { String c = in.next(); } } }

while循环在需要时不会结束

所以一些背景信息,我是编程的新手,我还在学习,所以我为我的琐碎错误制作道歉。 我正在制作自己的基于文本的游戏,以便进一步练习等。 以下是Dropbox上所有内容的链接,以获取更多信息: https : //www.dropbox.com/sh/uxy7vafzt3fwikf/B-FQ3VXfsR 我目前正在尝试为我的游戏实施战斗系统,并且我遇到了战斗序列的问题,在需要时没有结束。 “战斗序列”是一个while循环,如下所示: public void startCombat() { inCombat = true; while(inCombat != false)// && herohealth > 0 && monsterhealth > 0) { checkAlive(); heroHitMonster(); checkAlive(); monsterHitHero(); } attackinghero.setHeroHealth(herohealth); attackedmonster.setMonsterHealth(monsterhealth); } 其中checkAlive()方法如下: public void checkAlive() { if(herohealth <= 0) { System.out.println("You have died."); attackinghero.clearInventory(); inCombat = false; } else if(monsterhealth <= […]

while循环只执行一次

我很难搞清楚为什么while循环不会实际循环。 它贯穿一次并停止。 import java.util.*; public class mileskm { public static void main(String[] args) { Scanner inp = new Scanner(System.in); boolean continue1 = true; while (continue1 == true) { System.out.println(“Would you like to convert m-km or km-m(km for m-km and m for km-m)”); String convert = inp.nextLine(); if (convert.equalsIgnoreCase(“km”)) { System.out.println(“Enter the mileage to be converted.”); […]

while循环不能使用Try / Catch语句

我试图让用户有机会在介绍产生错误的东西之后重复输入但是有些东西不起作用,因为一旦错误被捕获,尝试的东西不再被执行,而是直接进入捕获的东西产生永恒cicle。 这是我的代码: while (err==1){ err=0; try{ dim = keyboard.nextInt(); } catch(Exception e){ System.out.println(“Oops! What you entered is not an integer.”); err=1; } }

while循环中的多个条件

import java.util.Calendar; import java.util.GregorianCalendar; public class CountingSundays { public static void main(String args[]) { Calendar cal = new GregorianCalendar(1901, 00, 01); // month set to 0for jan , 1= feb etc while((cal.get(Calendar.YEAR) != 2001) && (cal.get(Calendar.MONTH) != 0) && cal.get(Calendar.DAY_OF_MONTH) != 1) { // while not 1/1/2001 System.out.print(cal.get(Calendar.MONTH)); // cal.add(Calendar.DAY_OF_MONTH, 1); } } } 我试图通过一次添加一天迭代while循环,但它甚至不会第一次访问while循环。 […]

Java中while(x = false)和while(!x)之间有什么区别?

对不起,我是Java的新手,所以这个问题可能不清楚。 我最近一直在处理在while循环中包含try和catch语句,因为我想确保从程序的其余部分包含输入。 我遇到过一个问题,在while条件下在变量前面使用感叹号(!)(例如while(!done))而不是使用= false(例如while(done = false))改变了我的程序方式运行。 前者(!done)导致try和except语句按预期运行。 后者(done = false)不会,只是跳过它们并转到代码的下一部分。 我的印象是! 在变量意味着与var = false相同之前。 我错了吗? 这是一个例子: import java.util.Scanner; public class TestOne { public static void main(String args[]) { Scanner input = new Scanner(System.in); int num; boolean inputDone = false; while (!inputDone) { try { System.out.print(“Enter in a number here: “); num = input.nextInt(); inputDone = […]

在try / catch中捕获exception后继续执行循环

一旦在此代码中捕获到exception,就会运行menuSystem方法,但是一旦我输入一个数字,程序就会关闭并显示“Build is successful”消息。 一旦发生exception,有没有办法重新进入while循环? public static void main(String[] args) { final UnitResults myUnit = new UnitResults(10, “Java”); int option = menuSystem(); try { while (option != 0) { final Scanner keyb = new Scanner(System.in); System.out.println(“”); switch (option) { } } } catch (Exception InputMismachException) { System.out.println(“\nPlease Enter a Valid Number\n”); option = menuSystem(); } }

为什么While(rs.next())语句在第一次迭代后结束?

我使用SELECT语句从表中获取数据,然后将其插入另一个表。 但是行“stmt.executeQuery(query);” 从表中插入第一行然后退出。 当我注释掉这一行时,while循环遍历打印出来的所有行。 堆栈跟踪未显示任何错误。 为什么会这样? try{ String query = “SELECT * FROM “+schema_name+”.”+table; rs = stmt.executeQuery(query); while (rs.next()) { String bundle = rs.getString(“BUNDLE”); String project_cd = rs.getString(“PROJECT_CD”); String dropper = rs.getString(“DROPPER”); String week = rs.getString(“WEEK”); String drop_dt = rs.getString(“DROP_DT”).replace(” 00:00:00.0″,””); query = “INSERT INTO INDUCTION_INFO (BUNDLE, PROJECT_CD, DROPPER, WEEK, DROP_DT) ” + “VALUES (” […]

do-while循环的目的是什么?

我知道它做了什么,以及它如何与while循环合作,但是不会有一个while循环代码是相同的,无论是否存在?

将Iterator向前移动到for语句和while语句之间的区别

当我使用对象的Iterator时,我使用while循环 (如每本书中学习Java,如Bruce Eckel的Thinking in Java ): Iterator it=… while(it.hasNext()){ //… } 但有时我看到的是有人使用for循环 : Iterator it=… for (Iterator it=…; it.hasNext();){ //… } 我不明白这个选择: 当我有一个带有序数序列的集合(作为数组)或者带有一个特殊的步骤规则(通常声明为一个简单的增量counter++ )时,我使用for循环 。 我在循环结束时使用while循环 ,我没有这个约束,但只有退出的逻辑条件。 这是一个没有其他原因的样式编码问题,或者存在一些我不知道的其他逻辑(例如性能)? 感谢您的每一个反馈