本文目录一览:
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怎么获取控制台输入的字符串
- 比较传统的方法,得到字符串后要另行判断、转换
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();
}
}
}
- 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,最后得到字符串中所有汉字的数量。