我需要帮助在Java中循环我的代码。到目前为止,我有:
import java.util.Scanner;
public class chara{
public static void main(String[]args){
int count = 0;
Scanner input = new Scanner(System.in);
System.out.println("Input a string");
String user=input.nextLine();
if(user.length()<7)
{
return;
}
else
{
}
System.out.println("Now input a letter to be replaced");
String letter = input.next();
if(letter.length()!=1)
{
return;
}
else
{
}
String user2 = user.replace(letter, "-");
String user3 = user.replace(letter, "");
count += (user.length() - user3.length());
System.out.println(user2);
System.out.println(user3);
System.out.println("#"+letter+"'s: "+count);
}
}
代码执行我想要的所有操作,但是当不满足字符串条件时(用户&lt; 7,字母!= 1),程序终止,我需要它做的是再次提出问题。有谁知道我怎么能做到这一点?
答案 0 :(得分:0)
您需要将循环代码放在可以调用的方法中,然后当不满足conidtion时,您可以回到您的问题,并根据该条件退出程序,或调用循环方法。
答案 1 :(得分:0)
你只需要一个具有中断条件的循环,这应该为你做到:
Scanner input = new Scanner(System.in);
System.out.println("Input a string");
String user=input.nextLine();
while (true)
{
if(user.length() <7 ) {break;}
input = new Scanner(System.in);
System.out.println("Too long, input a string < 7");
user=input.nextLine();
}
if(user.length()<7)......
答案 2 :(得分:0)
一种简单的方法是将主逻辑包含在具有布尔条件的循环中。当输入中存在“错误”时,此条件保持为真。当用户按需要继续时,条件为假。
您的代码看起来如此:
import java.util.Scanner;
public class Tester{
public static void main(String[]args){
int count = 0;
boolean keepGoing = true;
Scanner input = new Scanner(System.in);
while(keepGoing) {
System.out.println("Input a string");
String user=input.nextLine();
if(user.length()<7)
{
keepGoing = true;
//enter an error message here
}
else
{
System.out.println("Now input a letter to be replaced");
String letter = input.next();
if(letter.length()!=1)
{
keepGoing = true;
//enter an error message here
}
else
{
String user2 = user.replace(letter, "-");
String user3 = user.replace(letter, "");
count += (user.length() - user3.length());
System.out.println(user2);
System.out.println(user3);
System.out.println("#"+letter+"'s: "+count);
keepGoing = false;
}
}
}
input.close(); //Close resources
}
}
惯例是类名以大写字母开头。在您的情况下,您的课程应该是Chara
,而不是chara
。
此外,打开资源时请务必关闭它们。这是为了避免资源泄露。有些IDE会告诉你类似Resource leak: 'input' is never closed
的内容。使用一个好的IDE来帮助解决像这样的潜在问题是个好主意。