java判断字符串是否是整形数字
时间: 2023-11-11 21:56:42 浏览: 91
在Java中,判断一个字符串是否为整数数字有几种方法。其中一种方法是通过遍历字符串的每一个字符,判断是否都是数字字符('0'到'9'之间的字符)。如果存在非数字字符,则返回false;如果所有字符都是数字字符,则返回true。以下是一个示例代码:
```java
private boolean isNumeric(String s) {
for (int i = 0; i < s.length(); i++) {
char ch = s.charAt(i);
if (!(ch >= '0' && ch <= '9')) {
return false;
}
}
return true;
}
```
另一种方法是使用正则表达式来判断字符串是否为整数数字。以下是一个示例代码:
```java
private boolean isNumeric(String s) {
if (s != null && !"".equals(s.trim())) {
return s.matches("^[0-9]*$");
} else {
return false;
}
}
```
以上代码中,使用了正则表达式"^[0-9]*$"来匹配只包含数字的字符串。如果匹配成功,则返回true;否则返回false。
相关问题
正则表达式java判断字符串是否为整形字符串
在Java中,可以使用正则表达式来判断一个字符串是否为整型字符串。通常情况下,判断一个字符串是否为整型字符串需要考虑以下几个方面:
1. 字符串是否为空或null。
2. 字符串是否以正负号或数字开头。
3. 字符串是否只包含数字字符。
根据这些方面,可以使用不同的正则表达式来判断字符串是否为整型字符串。下面是两个常用的方法:
1. 使用matches()方法判断字符串是否为整型字符串:
public static boolean isNumber(String str){
String reg = "^[-+]?\\d+$";
return str.matches(reg);
}
其中,正则表达式"^[-+]?\\d+$"表示:
^:匹配字符串的开始位置。
[-+]?:表示正负号可有可无。
\\d+:表示数字字符出现一次或多次。
$:匹配字符串的结束位置。
2. 使用Pattern和Matcher类判断字符串是否为整型字符串:
public static boolean checkIsIntegerNumber(String str){
if(str == null || "".equals(str)){
return false;
}
String regex = "^[-+]?\\d+$";
Pattern p = Pattern.compile(regex);
Matcher matcher = p.matcher(str);
return matcher.find();
}
其中,正则表达式"^[-+]?\\d+$"与上面的方法相同,使用Pattern和Matcher类可以更加灵活地处理字符串。
使用随机访问流读出文本文件最后n个字符,文本文件名和数字n用命令行参数的方式提供。 以下程序是本题的主要代码,按照题目要求运行时命令行指定文本文件名和数字n。例如在命令提示符窗口运行:java shiyan44 text.txt 12 其中文本文件名 text.txt对应args[0], 12对应args[1]。必须加以注意的是这里12为字符串,要求在程序中加以处理转化为数值类型。请根据功能要求将空白处的语句填写完整。 import java.io.* ; public class shiyan43{ public static void main(String args[])throws Exception{ String filename,s,t; int n=0; long leng,filepoint; //注意这里定义为长整型 RandomAccessFile file= ; //创建随机文件读写对象 leng=file.length(); t=args[1]; //以下循环语句完成将从命令行接受到的数字字符转换成为整数类型 for(int i=0;i<t.length();i++){ n=10*n+(int)(t.charAt(i)-48); } file.skipBytes((int)(leng-n)); //将文件指针向前移动到最后n个字符,请注意这里为何要将长整形转换为整型类型 filepoint=file.getFilePointer(); while(filepoint<leng){ s= ; //读出内容并赋值给变量s System.out.println(s); filepoint=file.getFilePointer(); } file.close(); } }
String filename,s,t;
int n=0;
long leng,filepoint;
RandomAccessFile file=null; //需初始化,防止后面关闭对象时抛出异常
filename=args[0];
t=args[1];
for(int i=0;i<t.length();i++){
n=10*n+(int)(t.charAt(i)-48); //将字符转换为整数类型
}
try{
file=new RandomAccessFile(filename,"r"); //创建只读模式的随机访问文件对象
leng=file.length();
file.skipBytes((int)(leng-n)); //将文件指针移动到倒数第n个字符处
filepoint=file.getFilePointer();
while(filepoint<leng){
s=file.readLine(); //逐行读取文件内容
if(s!=null){ //判断读取的内容是否为空行
s=s.trim(); //去除字符串首尾空格
if(!s.equals("")){ //判断字符串是否为空
System.out.println(s); //输出非空字符串
}
}
filepoint=file.getFilePointer();
}
}catch(Exception e){
e.printStackTrace();
}finally{ //关闭文件对象
try{
if(file!=null){
file.close();
}
}catch(Exception e){
e.printStackTrace();
}
}
阅读全文