Java 如何停止循环,然后继续?
有人知道如何停止或继续循环吗。我想问用户您想继续(是)还是(否)?。。。在代码中执行此操作时,循环将退出。我做错了什么?提前谢谢你的帮助Java 如何停止循环,然后继续?,java,Java,有人知道如何停止或继续循环吗。我想问用户您想继续(是)还是(否)?。。。在代码中执行此操作时,循环将退出。我做错了什么?提前谢谢你的帮助 import java.util.Scanner; public class salarywithdoloop { public static void main(String args[]) { Scanner kb = new Scanner(System.in); int salary = 0; d
import java.util.Scanner;
public class salarywithdoloop {
public static void main(String args[]) {
Scanner kb = new Scanner(System.in);
int salary = 0;
double federaltax = 0;
double netsalary = 0;
double totaltax = 0;
double statetax = 0;
int over_100000 = 0;
int between50_100000 = 0;
int between25_50000 = 0;
int below25000 = 0;
String stop = "";
int count = 0;
do {
System.out.println("Please Input your salary");
salary = kb.nextInt();
if (salary >= 100000) {
statetax = salary * .05;
federaltax = salary * .20;
netsalary = statetax + federaltax;
} else {
statetax = salary * .05;
federaltax = salary * .15;
netsalary = statetax + federaltax;
}
if (salary >= 100000) {
over_100000 = over_100000 + 1;
} else if (salary >= 50000 && salary <= 100000) {
between50_100000 = between50_100000 + 1;
} else if (salary >= 25000 && salary <= 50000) {
between25_50000 = between25_50000 + 1;
} else {
below25000 = below25000 + 1;
}
System.out.println("Federal tax :" + federaltax);
System.out.println("netsalary :" + netsalary);
System.out.println("statetax :" + statetax);
System.out.println("salary :" + salary);
System.out.println("Over 100000: " + over_100000);
System.out.println("Between 50000 and 100000: " + between50_100000);
System.out.println("Between 25000 and 50000: " + between25_50000);
System.out.println("Below 25000:" + below25000);
System.out.println("Do you want to continue?");
stop = kb.nextLine();
kb.nextLine();
if (stop.equals("yes")) {
continue;
} else if (stop.equals("no")) {
break;
}
} while (0 <= count);
}
}
import java.util.Scanner;
公共级别带薪工资单{
公共静态void main(字符串参数[]){
扫描仪kb=新扫描仪(System.in);
int工资=0;
双重联邦税=0;
双netsalary=0;
双重总税=0;
双州税=0;
int大于_100000=0;
介于50和100000之间的整数=0;
int介于25_50000=0之间;
int低于25000=0;
字符串停止=”;
整数计数=0;
做{
System.out.println(“请输入您的工资”);
salary=kb.nextInt();
如果(工资>=100000){
州税=工资*.05;
联邦税=工资*.20;
netsalary=州税+联邦税;
}否则{
州税=工资*.05;
联邦税=工资*.15;
netsalary=州税+联邦税;
}
如果(工资>=100000){
超过10万欧元=超过10万欧元+1;
}否则,如果(工资>=50000&&salary=25000&&salary只需将do while
中的while
条件更改为此
while(stop.equals("yes"));
然后可以删除do while
循环中的if else
// The below if-else is not required at all, I commented it, but you can delete it.
//if (stop.equals("yes")) {
//continue;
//} else if (stop.equals("no")) {
//break;
//}
您需要反转2readLine()
语句
kb.nextLine(); // line 1, this will consume the enter
stop = kb.nextLine(); // line 2, // this will actually get the next user input
所以你想要的逻辑是
while (true) {
if (stop.equals("yes")) continue;
break;
}
continue
转到do..while循环的下一次迭代;break
退出循环。切换代码中的continue
和break
。
System.out.println("Do you want to continue?");
stop = kb.nextLine();
kb.nextLine();
到
您的问题将通过以下方式解决:
System.out.println("Do you want to continue?");
stop = kb.nextLine();
stop = kb.nextLine();
if (stop.equals("yes"))
{
continue;
} else if (stop.equals("no"))
{
break;
}
试试这个
public static void main(String args[])
{
Scanner kb = new Scanner(System.in);
int salary = 0;
double federaltax =0;
double netsalary=0;
double totaltax = 0;
double statetax=0;
int over_100000=0;
int between50_100000=0;
int between25_50000=0;
int below25000=0;
String stop="";
int count=0;
do
{
System.out.println("Please Input your salary");
salary = kb.nextInt();
if(salary >= 100000)
{
statetax= salary * .05;
federaltax = salary * .20;
netsalary = statetax + federaltax;
}
else
{
statetax= salary * .05;
federaltax = salary * .15;
netsalary = statetax + federaltax;
}
if(salary >= 100000)
{
over_100000 = over_100000 + 1;
}
else if(salary >= 50000 && salary <=100000)
{
between50_100000 = between50_100000 + 1;
}
else if(salary >= 25000 && salary <=50000)
{
between25_50000 = between25_50000 + 1;
}
else
{
below25000 = below25000 + 1;
}
System.out.println("Federal tax :" + federaltax);
System.out.println("netsalary :" + netsalary);
System.out.println("statetax :" + statetax);
System.out.println("salary :" + salary);
System.out.println("Over 100000: " + over_100000);
System.out.println("Between 50000 and 100000: " + between50_100000);
System.out.println("Between 25000 and 50000: " + between25_50000);
System.out.println("Below 25000:" + below25000);
System.out.println("Do you want to continue?");
stop = kb.nextLine();
}while(stop.equals("yes"));
}
publicstaticvoidmain(字符串参数[])
{
扫描仪kb=新扫描仪(System.in);
int工资=0;
双重联邦税=0;
双netsalary=0;
双重总税=0;
双州税=0;
int大于_100000=0;
介于50和100000之间的整数=0;
int介于25_50000=0之间;
int低于25000=0;
字符串停止=”;
整数计数=0;
做
{
System.out.println(“请输入您的工资”);
salary=kb.nextInt();
如果(工资>=100000)
{
州税=工资*.05;
联邦税=工资*.20;
netsalary=州税+联邦税;
}
其他的
{
州税=工资*.05;
联邦税=工资*.15;
netsalary=州税+联邦税;
}
如果(工资>=100000)
{
超过10万欧元=超过10万欧元+1;
}
否则,如果(工资>=50000&&salary=25000&&salary请尝试以下操作:
System.out.println("Do you want to continue?");
// stop = kb.nextLine();
// kb.nextLine();
stop = kb.next();
它终于起作用了。非常感谢……很高兴它为你起作用了!:)这并没有回答问题。它只是发布代码。对于以后查看的人来说没有用处-他们不知道你做了什么。@user2310289-似乎OP只想要一个工作代码,这是经常发生的情况。
public static void main(String args[])
{
Scanner kb = new Scanner(System.in);
int salary = 0;
double federaltax =0;
double netsalary=0;
double totaltax = 0;
double statetax=0;
int over_100000=0;
int between50_100000=0;
int between25_50000=0;
int below25000=0;
String stop="";
int count=0;
do
{
System.out.println("Please Input your salary");
salary = kb.nextInt();
if(salary >= 100000)
{
statetax= salary * .05;
federaltax = salary * .20;
netsalary = statetax + federaltax;
}
else
{
statetax= salary * .05;
federaltax = salary * .15;
netsalary = statetax + federaltax;
}
if(salary >= 100000)
{
over_100000 = over_100000 + 1;
}
else if(salary >= 50000 && salary <=100000)
{
between50_100000 = between50_100000 + 1;
}
else if(salary >= 25000 && salary <=50000)
{
between25_50000 = between25_50000 + 1;
}
else
{
below25000 = below25000 + 1;
}
System.out.println("Federal tax :" + federaltax);
System.out.println("netsalary :" + netsalary);
System.out.println("statetax :" + statetax);
System.out.println("salary :" + salary);
System.out.println("Over 100000: " + over_100000);
System.out.println("Between 50000 and 100000: " + between50_100000);
System.out.println("Between 25000 and 50000: " + between25_50000);
System.out.println("Below 25000:" + below25000);
System.out.println("Do you want to continue?");
stop = kb.nextLine();
}while(stop.equals("yes"));
}
System.out.println("Do you want to continue?");
// stop = kb.nextLine();
// kb.nextLine();
stop = kb.next();