输入一个字符串str和一个字符c,输出c在str中的位置。如果在字符串str中不存在字符c,则输出“not found”。 java
时间: 2024-02-15 10:04:46 浏览: 14
您好!根据您的要求,我可以为您提供以下Java代码:
```java
public static void main(String[] args) {
String str = "Hello, world!";
char c = 'o';
int index = str.indexOf(c);
if (index == -1) {
System.out.println("not found");
} else {
System.out.println("Index of " + c + " in " + str + " is " + index);
}
}
```
在上面的代码中,我们首先声明了一个字符串`str`和一个字符`c`。然后,我们使用`indexOf`方法查找字符`c`在字符串`str`中的位置。如果找不到字符`c`,则方法返回-1,我们输出“not found”,否则,我们输出字符`c`在字符串`str`中的位置。
希望能对您有所帮助!
相关问题
C语言:输入两个字符串str1和str2,输出str2在str1中的所有位置,没有则输出no
以下是一个基于C语言的实现,可以实现输入两个字符串str1和str2,输出str2在str1中的所有位置,没有则输出no:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str1[100], str2[100];
printf("请输入字符串1:");
scanf("%s", str1);
printf("请输入字符串2:");
scanf("%s", str2);
int len1 = strlen(str1), len2 = strlen(str2);
int i, j, k, flag;
for (i = 0; i <= len1 - len2; i++) {
flag = 1;
for (j = 0, k = i; j < len2; j++, k++) {
if (str2[j] != str1[k]) {
flag = 0;
break;
}
}
if (flag) {
printf("在位置%d处发现字符串2\n", i);
}
}
if (!flag) {
printf("no\n");
}
return 0;
}
```
该程序首先使用`scanf`函数分别读入两个字符串`str1`和`str2`,然后使用`strlen`函数求出两个字符串的长度。接着,使用两个循环嵌套来枚举`str2`在`str1`中出现的位置,具体地,外层循环控制`str2`在`str1`中的起始位置,内层循环则用于比较`str1`和`str2`中对应位置的字符是否相同。如果在某个位置发现`str2`,则输出该位置。最后,如果没有发现`str2`,则输出`no`。
在c语言中,编写一个程序,输入一个字符串str和一个字符ch,通过指针查找,统计字符串str中ch出现的位置
下面是一个实现该功能的C语言程序:
```c
#include <stdio.h>
#include <string.h>
void find_char(const char *str, char ch, int *pos, int *count) {
int len = strlen(str);
*count = 0;
for (int i = 0; i < len; i++) {
if (str[i] == ch) {
pos[*count] = i;
(*count)++;
}
}
}
int main() {
char str[100];
char ch;
int pos[100];
int count = 0;
printf("请输入一个字符串:");
scanf("%s", str);
printf("请输入要查找的字符:");
scanf(" %c", &ch);
find_char(str, ch, pos, &count);
if (count == 0) {
printf("字符串中未找到该字符。\n");
} else {
printf("该字符在字符串中出现了%d次,位置分别为:\n", count);
for (int i = 0; i < count; i++) {
printf("%d ", pos[i]);
}
printf("\n");
}
return 0;
}
```
在程序中,我们定义了一个`find_char`函数,它接收一个字符串、一个字符、一个位置数组和一个计数器指针作为输入,通过指针查找字符串中指定字符的位置,并将位置存储在位置数组中,最后更新计数器指针的值为该字符在字符串中出现的次数。
在`main`函数中,我们先读入一个字符串和一个字符,然后调用`find_char`函数查找该字符在字符串中的位置,最后输出结果。
需要注意的是,在调用`scanf`函数读入字符时,我们需要在前面加上一个空格,以消耗掉之前输入时留下的换行符或空格。