Java面向对象-String类综合案例

本文介绍了一种使用Java去除字符串前后空格并统计其中英文字母、数字、空格和其他字符数量的方法。通过示例代码展示了如何遍历字符串并进行字符类型的判断。

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

“ aB232 23 &*( s2 ”指定字符串,要求去掉前后空格,然后分别统计其中英文字符,空格,数字和其他字符的个数;

 

思路:首先去掉前后空格,我们查找api文本,可以找到trim()方法;

要统计的话,我们遍历字符串,然后通过if判断来统计各种字符的个数;

我们给下参考代码:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

package com.java.chap03.sec08;

 

public class Demo09 {

 

    public static void main(String[] args) {

        String str=" aB232 23 &*( s2 ";

        String newStr=str.trim(); // 去掉前后空格

        System.out.println("str="+str);

        System.out.println("newStr="+newStr);

         

        int yingWen=0// 英文个数

        int kongGe=0// 空格个数

        int shuZi=0// 数字个数

        int qiTa=0// 其他

         

        for(int i=0;i<newStr.length();i++){

            char c=newStr.charAt(i);

            // 判断英文字符

            if((c>='a'&&c<='z')||(c>='A'&&c<='Z')){

                yingWen++;

                System.out.println("英文字符:"+c);

            }else if(c>='0'&&c<='9'){

                shuZi++;

                System.out.println("数字字符:"+c);

            }else if(c==' '){

                kongGe++;

                System.out.println("空格字符:"+c);

            }else{

                qiTa++;

                System.out.println("其他字符:"+c);

            }

        }

         

        System.out.println("英文个数:"+yingWen);

        System.out.println("空格个数:"+kongGe);

        System.out.println("数字个数:"+shuZi);

        System.out.println("其他个数:"+qiTa);

    }

}

### Java面向对象编程中的文件Java中,`java.io`包提供了处理文件的各种和接口。这些支持基本的文件读写操作以及更复杂的流处理机制。 #### File简介 `File`属于`java.io`包的一部分[^3],主要用于表示磁盘上的文件或目录路径名,并提供了一系列的方法来进行文件和目录的操作,但并不涉及具体的文件内容读取与写入。 #### 基本用法示例 下面是一个简单的例子展示如何创建一个新的文本文件并检查该文件是否存在: ```java import java.io.File; public class FileExample { public static void main(String[] args) { // 创建一个代表新文件的对象 File file = new File(&quot;example.txt&quot;); try { // 如果文件不存在,则尝试创建它 if (!file.exists()) { boolean created = file.createNewFile(); System.out.println(created ? &quot;文件已成功创建.&quot; : &quot;无法创建文件.&quot;); } else { System.out.println(&quot;文件已经存在.&quot;); } } catch (Exception e) { e.printStackTrace(); } // 获取文件的一些基本信息 System.out.println(&quot;绝对路径:&quot; + file.getAbsolutePath()); System.out.println(&quot;是否为目录:&quot; + file.isDirectory()); System.out.println(&quot;最后修改时间:&quot; + file.lastModified()); // 删除文件(仅当程序结束前调用此方法) file.deleteOnExit(); } } ``` 这段代码展示了几个重要的概念: - 使用`new File()`构造器初始化了一个新的`File`对象。 - `exists()`, `createNewFile()`, `getAbsolutePath()`, `isDirectory()`, 和 `lastModified()` 方法都是`File`提供的用于获取有关文件的信息或执行某些简单操作的方法。 - `deleteOnExit()` 方法会在虚拟机退出时删除指定的文件。 #### 高级应用案例&mdash;&mdash;遍历目录树 对于更加复杂的需求,比如想要递归地访问整个目录结构下的所有文件,可以利用`listFiles()`方法配合循环来完成这样的任务: ```java private static void listAllFiles(File dir){ if(dir != null &amp;&amp; dir.isDirectory()){ for(File f : dir.listFiles()){ if(f.isDirectory()){ listAllFiles(f); // 对子目录继续递归调用 }else{ System.out.println(f.getName()); // 输出文件名称 } } } } // 调用方式如下所示,在main函数或其他地方适当位置加入即可 // listAllFiles(new File(&quot;/path/to/directory&quot;)); ``` 上述代码片段实现了对给定目录及其下各级子目录内所有文件名字打印的功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值