读入一行宇符串(不多于800个字符,以回车结束),统计其中Bubble出;现了多少次。注:类名必须为Main,java语言
时间: 2024-05-05 07:21:08 浏览: 28
以下是Java代码实现:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String input = scanner.nextLine();
int count = 0;
for (int i = 0; i < input.length() - 5; i++) {
if (input.substring(i, i + 6).equals("Bubble")) {
count++;
}
}
System.out.println("Bubble出现了 " + count + " 次。");
}
}
```
该程序首先使用 `Scanner` 类读入一行字符串,然后使用 `for` 循环遍历字符串中的所有连续6个字符的子串,如果该子串是 "Bubble",则计数器 `count` 加 1。最后输出计数器的值即可。
相关问题
java读入一行字符串(不多于800个字符,以回车结束),统计其中Bubble出现了多少次。 注:类名必须为Main(大写M)
下面是一个示例代码,实现了从控制台读入一行字符串,并统计其中 Bubble 出现的次数。请注意,该代码中使用的是 Java 8 中的 Stream API,需要 JDK 版本在 1.8 及以上。
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String line = scanner.nextLine();
long count = line.chars()
.mapToObj(c -> (char) c)
.filter(c -> c == 'B')
.filter(c -> line.indexOf("ubble", line.indexOf(c) + 1) == line.indexOf(c) + 1)
.count();
System.out.println(count);
}
}
```
解释一下这段代码的思路:
1. 首先创建一个 `Scanner` 对象,用于从控制台读入一行字符串。
2. 然后使用 `chars()` 方法将字符串转换为 `IntStream`,并使用 `mapToObj()` 方法将每个字符转换为 `Character` 对象。
3. 接着,使用两个 `filter()` 方法,将所有字符中的 'B' 和满足 Bubble 出现条件的字符筛选出来。
4. 最后,使用 `count()` 方法统计满足条件的字符个数,并输出结果。
需要注意的是,在判断 Bubble 出现条件时,我们使用了 `indexOf()` 方法来查找字符串中是否包含指定的子串。具体来说,我们先使用 `indexOf()` 方法查找当前字符后面是否有 'u',如果找到了再判断 'u' 后面的 4 个字符是否是 "bble"。这样就可以保证统计的是 Bubble 出现的次数,而不是其他单词中包含 Bubble 的情况。
c语言编程将两个字符串连接成一个字符串,并将连接后的字符串按升序排列。
可以使用 strcat() 函数将两个字符串连接起来,然后使用 strcmp() 函数进行字符串的比较,最后使用冒泡排序进行升序排列。以下是示例代码:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LEN 100
void bubble_sort(char *str[], int n);
int main() {
char str1[MAX_LEN], str2[MAX_LEN], *str[2];
printf("Enter the first string: ");
fgets(str1, MAX_LEN, stdin);
printf("Enter the second string: ");
fgets(str2, MAX_LEN, stdin);
// 去掉换行符
str1[strcspn(str1, "\n")] = '\0';
str2[strcspn(str2, "\n")] = '\0';
// 连接字符串
strcat(str1, str2);
// 按升序排列
str[0] = str1;
str[1] = str2;
bubble_sort(str, 2);
printf("The sorted string is: %s\n", str1);
return 0;
}
// 冒泡排序
void bubble_sort(char *str[], int n) {
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - 1 - i; j++) {
if (strcmp(str[j], str[j + 1]) > 0) {
char *tmp = str[j];
str[j] = str[j + 1];
str[j + 1] = tmp;
}
}
}
}
```
注意:在连接字符串之前,需要去掉输入字符串中自带的换行符,否则会影响字符串的比较和排序。
相关推荐
![java](https://img-home.csdnimg.cn/images/20210720083646.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)