Java中,指定一个字符串"thinking in Java",然后调用indexOf("in",3)与lastIndexOf("in",3)的结果分别是多少?需要进行解析
时间: 2023-06-23 12:09:00 浏览: 121
假设我们有一个字符串 "thinking in Java",则:
- 调用 `indexOf("in",3)` 方法,表示从字符串的第3个字符开始查找子字符串 "in",则返回结果为 9。因为从第3个字符开始,第一次出现 "in" 的位置是在字符串的第9个字符处。
- 调用 `lastIndexOf("in",3)` 方法,表示在字符串的第3个字符处向前查找子字符串 "in",则返回结果为 2。因为在从第3个字符向前查找时,最后一次出现 "in" 的位置是在字符串的第2个字符处。
需要注意的是,Java中的字符串索引是从0开始计数的,而不是从1开始。因此,字符串的第一个字符的索引为0,第二个字符的索引为1,以此类推。
相关问题
java中从一个字符串中获取最后一个逗号
可以使用`lastIndexOf`方法来获取最后一个逗号的位置,然后再使用`substring`方法截取字符串。
示例代码如下:
```java
String str = "a,b,c,d,e,";
int lastIndex = str.lastIndexOf(",");
if (lastIndex != -1) {
String lastComma = str.substring(lastIndex);
System.out.println(lastComma); // 输出 ","
}
```
在上面的示例代码中,我们首先使用`lastIndexOf`方法获取最后一个逗号的位置,如果找到了逗号,就使用`substring`方法截取从该位置到字符串结尾的部分,即最后一个逗号。
java键盘输入一个字符串,输出字符串中只出现2次的最后一个字符. 将结果写入data3.txt文件中。
好的,代码如下:
```java
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个字符串:");
String str = scanner.nextLine();
char[] chars = str.toCharArray();
char result = 0;
for (int i = 0; i < chars.length; i++) {
if (str.indexOf(chars[i]) == str.lastIndexOf(chars[i])) {
result = chars[i];
}
}
try {
FileWriter writer = new FileWriter("data3.txt");
writer.write(result);
writer.close();
System.out.println("结果已写入data3.txt文件中");
} catch (IOException e) {
System.out.println("写入文件失败");
e.printStackTrace();
}
}
}
```
这个程序会提示用户输入一个字符串,然后找出该字符串中只出现2次的最后一个字符,并将结果写入data3.txt文件中。
阅读全文