gpt4 book ai didi

java - 打印 aLine 并删除第一个 'c' 'C' 'd' 或 'D'

转载 作者:行者123 更新时间:2023-12-02 09:32:08 29 4
gpt4 key购买 nike

我正在尝试打印 aLine,并删除第一个实例 'c' 'C' 'd' 或 'D'。但是,我仅限于使用 String 的 indexOf、charAt、length、compareTo、toUpperCase、toLowerCase、trim、equals、equalsIgnoreCase 和 substring 方法。假设您可以输入您喜欢的任何字符串。

我已经实现了删除“c”。但是,如果“c”之前有“d”,它仍然会删除“c”。我尝试过建立字母的索引。我尝试过使用 if 语句以及 while 和 for 循环中嵌套的 if 语句。结果是一样的。

int c = aLine.indexOf('c');
int upperC = aLine.indexOf('C');
int d = aLine.indexOf('d');
int upperD = aLine.indexOf('D');

for (int i = 0; i < aLine.length(); i++) {
if (c >= 0 || upperC >= 0 || d >= 0 || upperD >= 0) {
if (c >= 0) {
String string1 = aLine.substring(0, c);
String string2 = aLine.substring(c + 1, length);
System.out.println(string1 + string2);
break;
} else if (upperC >= 0) {
String string1 = aLine.substring(0, upperC);
String string2 = aLine.substring(upperC + 1, length);
System.out.println(string1 + string2);
break;
} else if (d >= 0) {
String string1 = aLine.substring(0, d);
String string2 = aLine.substring(d + 1, length);
System.out.println(string1 + string2);
break;
} else if (upperD >= 0) {
String string1 = aLine.substring(0, upperD);
String string2 = aLine.substring(upperD + 1, length);
System.out.println(string1 + string2);
break;
} else {
System.out.println("The original String has no leading or trailing whitespace.");
break;
}

我试图获取要删除的 c C d 或 D 的第一个实例,然后打印带有删除的字符的字符串。请指教。我不知道如何解决这个问题。

最佳答案

我会保持简单:

for (int i = 0; i < aLine.length(); i++) {
char c = aLine.charAt(i);
if (c == 'c' || c == 'C' || c == 'd' || c == 'D') {
if (i > 0) System.out.print(aLine.substring(0, i));
if (i+1 < aLine.length()) System.out.print(aLine.substring(i+1));
System.out.println();
break;
}
}

注释:

  1. 前两个打印语句是 print,而不是 println
  2. 第二个子字符串使用只有起始索引的形式
  3. println 在打印字符串的两部分后使用

关于java - 打印 aLine 并删除第一个 'c' 'C' 'd' 或 'D',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57878724/

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