package 字符串;
import java.util.Scanner;
public class SentenceCount {
public static void main(String[] args) {
// TODO 自动生成的方法存根
Scanner sc = new Scanner(System.in);
String sentence =sc.nextLine();
int count=0;//句子数
String zimu[]=sentence.split("");
String word[]=sentence.split(" ");
char arr[]=new char[200];
for(int i=0;ichar b=zimu[i].charAt(0);
int c=b;
System.out.print(zimu[i]);
if(c==33||c==63||c==46) {
count++;
System.out.println("");
}
}
System.out.println(count);
for(int i=0;i200]=word[i].charAt(0);
}
char temp=0;
for(int i=1;i<200;i++) {
if((int)arr[i]>(int)arr[i-1]) {
temp=arr[i];
arr[i]=arr[i-1];
arr[i-1]=temp;
}
for(int j=0;jSystem.out.println(arr[j]);
}
}
}
}
为什么运行不了怎么改呢
试试👀
package 字符串;
import java.util.Scanner;
public class SentenceCount {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String sentence = sc.nextLine();
int count = 0; //句子数
String[] zimu = sentence.split(""); // 按字符分割字符串
String[] word = sentence.split(" "); // 按空格分割字符串
char[] arr = new char[200];
for (int i = 0; i < zimu.length; i++) {
if (!zimu[i].isEmpty()) { // 检查字符是否为空
char b = zimu[i].charAt(0);
int c = b;
System.out.print(zimu[i]);
if (c == 33 || c == 63 || c == 46) { // 根据ASCII码判断是否为句子结束符
count++;
System.out.println("");
}
}
}
System.out.println(count);
for (int i = 0; i < word.length; i++) {
arr[i] = word[i].charAt(0); // 将单词的首字母保存到字符数组中
}
char temp = 0;
// 冒泡排序,将单词首字母按字母表顺序排列
for (int i = 0; i < word.length - 1; i++) {
for (int j = i + 1; j < word.length; j++) {
if ((int) arr[i] > (int) arr[j]) {
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
// 打印排序后的单词首字母
for (int j = 0; j < word.length; j++) {
System.out.println(arr[j]);
}
}
}
//出队列
//其实就是带头单链表的头删
void QueuePop(Queue* p)
{
Queuenode* Delnode = NULL;
//先判断是否为空
if (QueueEmpty(p)) {
return;
}
//标记删除节点,头删
Delnode = p->front->next;
//然后在连接起来
p->front->next = Delnode->next;
//队列中刚好只有一个元素,删除之后应该要将队尾back放在头节点的位置
if (Delnode == p->back) {
p->back = p->front;
}
free(Delnode);
}