回顾大学--大一JAVA实验--实验四 字符与字符串

本文介绍了一个Java程序,用于统计用户输入的英文文本中的字符、单词和句子数量,并提供了详细的代码解释。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实验目的

1. 掌握语言基础类库中System 、Math 、数据类型等类的使用。

2. 掌握字符串的使用。

实验内容

1. 编写一个程序,接受用户输入的一段英文文字,统计出其中的字符个数、单词个数和句子的个数。(设句子以“。”“!”“?”结束,单词之间利用空格分隔)。

特别提示

1. 在java中,System 、Math 、String、数据类型等类都在java.lang包中,系统将会自动引入。

2. String类的方法在书中71页的图2.6中给出。String是一个类类型,所以在比较两个String对象所包含的内容是否相等时,不能用==,要通过方法equals来实现。

—————————————————————————————————————————————————————————————————————————————

下面是我的代码

—————————————————————————————————————————————————————————————————————————————


貌似我写的代码不符合实验人的预期要求,我没有用equals啊,我用的是==,算了,做出来了就行,黑猫白猫,能捉老鼠就是好猫.

import java.util.*;
public class shiyan4 {
	public static void main(String arg[])
	{
		String str;
		int wordNum=0,sentNum=0;
		Scanner scan=new Scanner(System.in);
		System.out.println("Text to statistics");
		str=scan.nextLine();
		for(int i=0;i<str.length();i++)
		{
			char a=str.charAt(i);
			switch(a)
			{
			case '.':
			case '?':
			case '!':
				sentNum++;
			case ' ':
				wordNum++;
				break;
			default:
				break;
			}
		}
		System.out.println("word:"+wordNum+",sentence:"+sentNum);
	}
}

这里的switch中的break要说一下,如果没有break会继续往下面的case运行,所以'.','?','!'都会执行sentNum++,也会执行wordNum++;

只有空格只执行wordNum++;

到了大三考嵌入式的时候竟然又考了这个问题,狂汗啊,嵌入式没有讲程序语言竟然考试考一个读程序的题目(C语言的,最好自学点C):

int main()
{
	int a=1,b=0;
	switch(a)
	{
	case 0:
		a++;
	case 1:
		a++;
	case 2:
		a++;
		b++;
	case 3:
		b++;
	}
	printf("a=%d,b=%d",a,b);
}

问题就是请写出输出结果:

答案是:a=3,b=2


所以switch中的break不容小觑,大三了还给你来个4分的题目.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值