java获取字符串,java获取字符串长度的方法

发布时间:2023-01-09

本文目录一览:

  1. java中怎么获取输入的字符串
  2. java截取字符串?
  3. java怎么获取控制台输入的字符串
  4. java语言中如何获取字符串中汉字的个数

java中怎么获取输入的字符串

Scanner sc = new Scanner(System.in);
String s = sc.next(); // Scanner类没有提供直接接收一个字符的方法,这里当作字符串来接收;
char c = s.charAt(0); // 调用字符串的charAt()方法取得第一个字符就是了

java截取字符串?

Java截取字符串的函数为 xxxx.substring(x, y),其中 x 为要取得的字符串的第一个字母在被截取字符串中的下标,y-x 为要取得的字符串的长度。只要明白了这个原理,写起来就容易了。

java怎么获取控制台输入的字符串

  1. 比较传统的方法,得到字符串后要另行判断、转换
package com.test;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class MainRun {
    /**
     * @param args
     */
    public static void main(String[] args) {
        try {
            BufferedReader strin = new BufferedReader(new InputStreamReader(System.in));
            System.out.print("请输入一个字符串:");
            String str = strin.readLine();
            System.out.println("第一个:" + str);
            System.out.println("请输入第二个字符串:");
            String str2 = strin.readLine();
            System.out.println("第2个:" + str2);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
  1. JDK5以后引入了 java.util.Scanner 来处理控制台输入并得到响应的类型数据
package com.test;
import java.util.Scanner;
public class MainRun {
    /**
     * @param args
     */
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("输入第一个boolean值(true/false):");
        if (sc.nextBoolean()) {
            System.out.println("输入布尔:真的");
        } else {
            System.out.println("输入布尔:假的");
        }
        System.out.println("输入第一个数字:");
        System.out.println("输入数字:" + sc.nextInt());
        System.out.println("输入一个字符串:");
        System.out.println("输入字符串:" + sc.next());
        System.out.println("输入一个长整型:");
        System.out.println("输入长整型:" + sc.nextLong());
    }
}

java语言中如何获取字符串中汉字的个数

实例描述

字符串中可以包含数字、字母、汉字或者其他字符。使用 Character 类的 isDigit() 方法可以判断字符是否为数字,使用 Character 类的 isLetter() 方法可以判断字符是否为字母。实例中将介绍一种方法用来判断字符串中的某个字符是否为汉字,通过此方法可以计算字符串中汉字的数量。实例的运行效果如图4.24所示。

实现过程

在 Eclipse 中新建项目 ChineseCharacter,并在其中创建一个 ChineseCharacter.java 文件。在该类的主方法中创建标准输入流的扫描器对象,接收用户输入的字符串。我们在程序中使用 matches() 方法来统计该字符串中汉字的个数。核心代码如下所示:

protected void do_button_actionPerformed(ActionEvent e) {
    String text = chineseArea.getText(); // 获取用户输入
    int amount = 0; // 创建汉字数量计数器
    for (int i = 0; i < text.length(); i++) { // 遍历字符串每一个字符
        // 使用正则表达式判断字符是否属于汉字编码
        boolean matches = Pattern.matches("^[\u4E00-\u9FA5]{0,}$", "" + text.charAt(i));
        if (matches) { // 如果是汉字
            amount++; // 累加计数器
        }
    }
    umField.setText(amount + ""); // 在文本框显示汉字数量
}

代码解析

本实例的关键点在于正则表达式的使用。Java 提供了 Pattern 类用于正则表达式的编译表示形式,该类提供的静态方法 matches() 可以执行正则表达式的匹配。该方法编译给定正则表达式并尝试给定输入与其匹配。如果要匹配的字符序列与正则表达式匹配则返回 true,否则返回 false。其声明语法如下:

public static boolean matches(String regex, CharSequence input);

知识扩展

使用正则表达式可以方便地进行字符串操作,正则表达式经常被用来验证用户输入的信息,如可以判断用户输入的格式是否正确。本实例中使用正则表达式来判断用户输入的字符串是否为汉字,如果为汉字则计数器加1,最后得到字符串中所有汉字的数量。