gpt4 book ai didi

java - 如何使用 boolean 表达式来修复此代码?

转载 作者:行者123 更新时间:2023-12-01 13:22:06 26 4
gpt4 key购买 nike

我想创建一种方法,从提供的字符串的正面或背面或正面和背面裁剪指定数量的字符。如果要裁剪的字符数对于给定的文本长度来说太长,则会返回“无法裁剪超过文本的长度。”

参数应该执行以下操作:

@param  String text - a piece of text of any length containig ascii characters
@param int howMany - number of characters to be cropped
@param boolean front - true if characters should be cropped from the front of text, false don't crop from front
@param boolean back - true if characters should be cropped from the back of text, false don't crop from back

我目前有这段代码,但程序崩溃,特别是在显示“Cropped (both):”时,说字符串文本说“sammy”,而 int howMany 说“4”,那么 if 语句不会显示,因为 int howMany 是不大于字符串文本,但是...显示裁剪后(两者)时程序崩溃,因为不可能从前面裁剪 4 个,从后面裁剪 4 个,结果是 -3。我确信我必须在这里使用 boolean 值,但我不太确定应该如何将它们合并进来,它们是我参数的一部分,但我还没有使用它们。您能否向我解释一下如何修复此代码以完成所需的任务?该方法由 main 方法调用,参数从该方法传递到该方法。我为所有 boolean 表达式传递了 true 。这是我的代码...

public static String cropText(String text, int howMany, boolean front, boolean back)
{
String result = "";

if (howMany > text.length())
{
JOptionPane.showMessageDialog(null,"Can't crop more than the length of the text");
}

else
{
System.out.println("Cropped (both):");
System.out.println("-----------");
System.out.println(text.substring(howMany, text.length() - howMany));
System.out.println("--------------");

System.out.println("Cropped (front):");
System.out.println("-----------");
System.out.println(text.substring(howMany, text.length() - 0));
System.out.println("--------------");
front = true;

System.out.println("Cropped (back):");
System.out.println("-----------");
System.out.println(text.substring(0, text.length() - howMany));
System.out.println("--------------");
back = true;
}

return result;
}

最佳答案

而不是

if (howMany > text.length())

您需要查看是否要求您在零、一侧或两侧进行裁剪。

sides = 0;
if (front) sides++;
if (back) sides++;
if(howMany * sides > text.length())

关于java - 如何使用 boolean 表达式来修复此代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21964074/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com