import java.util.Scanner;
public class Grammar
{
public static void main(String[] args)
{
// Ask the user to enter a sentence that uses the word 2 instead of to.
String theText= "";
System.out.println("Enter a sentence that uses the word 2 instead of to");
Scanner input = new Scanner(System.in);
theText = input.nextLine();
// Call the method useProperGrammar to process the string according to
// the directions.
System.out.println(useProperGrammar(theText));
}
public static String useProperGrammar(String theText)
{
String newString="";
int count = 0;
for(int i = 0; i < theText.length(); i++)
{
count++;
if (theText.contains("2"))
{
String character = theText.substring(i, i+1);
newString= theText.replace("2","to");
System.out.println("Fixed "+ count +" grammatical errors:");
return newString;
}
else
{
System.out.println("Fixed 0 grammatical errors");
return theText;
}
}
return newString;
}
}
基本上,我试图计算用户输入“2”并被替换为“to”的次数,但无论输入多少个2,它总是输出“fixed 1 grammary error”或(“fixed 0 grammary errors”,如果没有输入“2”)。
3条答案
按热度按时间ckx4rj1h1#
你需要像下面这样计算长度
replacell方法返回对调用此方法的string对象执行替换的次数
完全法
kcugc4gi2#
除了上一个答案中已经报告的错误之外,您的代码无法编译,因为您编写了一个没有if的else。
tct7dpnv3#
您只需使用charat函数,并在每次返回“2”时增加计数,它应该是这样的: