英文:
How do I end loop when 0 is entered?
问题
import javax.swing.JOptionPane;
public class MaxMinAvg {
public static void main(String args[]) {
String inString = " ";
int count = 0;
inString = JOptionPane.showInputDialog("Enter a String");
while (inString.length() != 0) {
count++;
System.out.println("record " + count + " is " + inString);
inString = JOptionPane.showInputDialog("Enter a String");
}
System.out.println("All done");
}
}
英文:
I'm writing a program where the user will keep entering numbers until 0 is entered using loops. It will then display the largest number entered, the smallest number entered, and the average of all the numbers. This is what I have to start with:
import javax.swing.JOptionPane;
public class MaxMinAvg
{
public static void main(String args[])
{
String inString = " ";
int count = 0;
inString = JOptionPane.showInputDialog("Enter a String");
//perform until the end of file
while(inString.length() != 0)
{
count++;
System.out.println("record " + count + " is " + inString);
// second read
inString = JOptionPane.showInputDialog("Enter a String");
} // end while loop
System.out.println("All done");
}
}
答案1
得分: 1
尝试将输入字符串与退出条件进行比较:
```java
import javax.swing.JOptionPane;
public class MaxMinAvg
{
public static void main(String args[])
{
String inString = " ";
int count = 0;
inString = JOptionPane.showInputDialog("请输入一个字符串");
while(inString.length() != 0 && !inString.equals("0"))
{
count++;
System.out.println("记录 " + count + " 为 " + inString);
inString = JOptionPane.showInputDialog("请输入一个字符串");
}
System.out.println("全部完成");
}
}
英文:
try to compare the input string with your exit condition:
import javax.swing.JOptionPane;
public class MaxMinAvg
{
public static void main(String args[])
{
String inString = " ";
int count = 0;
inString = JOptionPane.showInputDialog("Enter a String");
//perform until the end of file
while(inString.length() != 0 && !inString.equal("0"))
{
count++;
System.out.println("record " + count + " is " + inString);
// second read
inString = JOptionPane.showInputDialog("Enter a String");
} // end while loop
System.out.println("All done");
}
}
答案2
得分: 0
首先,您不需要两次使用 JOptionPane.showInputDialog("Enter a String");
。将其放在 while
循环内部调用一次即可。
其次,定义一个无限的 while
循环 - 使用 while(true)
,因为您不知道用户会提供多少次输入。
第三,要在输入为 0
时停止循环,将逻辑放在循环内部。
- 使用
trim()
去除输入中的空格,因为用户可能会在数字前后插入空格。 - 将输入转换为
int
类型。 - 使用
==
检查用户给定的输入是否等于0
。 - 使用
break
停止循环。
public static void main(String args[]) {
String inString = "";
int count = 0;
while(true) {
inString = JOptionPane.showInputDialog("Enter a String");
count++;
System.out.println("record " + count + " is " + inString);
if (Integer.parseInt(inString.trim()) == 0) {
break;
}
}
System.out.println("All done");
}
英文:
First, you don't need JOptionPane.showInputDialog("Enter a String");
twice. Call it once inside the while
loop.
Second, define an infinite while
loop - while(true)
since you don't know how many times user will give input.
Third, as to stop the loop
based on input 0
, put the logic inside the loop.
trim()
the input, user could insert a blank space before or after the unmber- convert the input into
int
- check equality
==
of user given input with0
break
the loop
public static void main(String args[]) {
String inString = "";
int count = 0;
while(true) {
inString = JOptionPane.showInputDialog("Enter a String");
count++;
System.out.println("record " + count + " is " + inString);
if (Integer.parseInt(inString.trim()) == 0) {
break;
}
}
System.out.println("All done");
}
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论