^String num = "123456";
String rex = "/^[1-9]+\\d*$";--必须是1-9开头的。版
Pattern p = Pattern.compile(rex);
Matcher m = p.matcher(num);
if (m.find()){
sysout("match!权");
}
Ⅱ Java中可以用按位运算来判断某种状态是否存在。这个是怎么做到的
package test1;
public class J {
public static void main(String[] args) {
int i[] = { 0100, 0011, 1110, 0110, 1000 };
int i3 = 0;
for (int i1 : i) {
int i2 = 1;
while (i2 < i.length + 1) {
i3 = i1 >> i2;
if (i3 == i1) {
System.out.println("右移:\t" + i3 + "存在数组中");
}else {
System.out.println("右移:\t" + i3 + "不存在数组中");
}
i3 = i1 << i2;
if (i3 == i1) {
System.out.println("左移:\t" + i3 + "存在数组中");
}else {
System.out.println("左移:\t" + i3 + "不存在数组中");
}
i2++;
}
}
}
}
Ⅲ Java中的textfield怎样判断输入的是正整数
textfield的内容获取到是字符串,可以用正则表达式判断:
String
str="0";
if(str.matches("[1-9]{1}([0-9]+)?")){
System.out.println("是正整数");
}else{
System.out.println("不是正整数");
}
Ⅳ 在java里怎么判断输入的东西是不是数字和正整数(请把详细的代码给我谢谢)
顶流星的代码,
try
{ //如果转换异常则输入的不是数字
num=Integer.parseInt(st);
if(num>0)
{
System.out.println("输入的是正整数") ;
}
break;
}
catch(Exception e)
{
System.out.println("只能版输入整权数") ;
}
关键是这个try...catch,在try中,如果 Integer.parseInt() 异常报错的话会直接跳到catch中。
Ⅳ java中验证是否为正整数的正则表达式
包括0的是^[0-9]{1,}$
不包括0的^[1-9]\d*$
Ⅵ 编写Java程序,判断用户输入的数字是否为正整数,如果是则计算其阶乘
import java.util.Scanner;
public class Demo1 {
public static void main(String[] args) {
while(1>0){
System.out.println("请输入一个正数:");
Scanner sc = new Scanner(System.in);
String str = sc.next();
if ("exit".equals(str)) {
System.out.println("系统即将关闭,谢谢使用!");
break;
}else{
boolean isNum = str.matches("^[-+]?(([0-9]+)([.]([0-9]+))?|([.]([0-9]+))?)$");
if (isNum) {
int i = Integer.parseInt(str);
int result = 1;
if (i>0) {
for (int j = 1; j < i+1; j++) {
result*= j;
}
System.out.println(str+" 的阶乘为 "+result);
}else{
System.out.println("请重新输入一个正数!");
continue;
}
}else{
System.out.println("请重新输入一个正数!");
continue;
}
}
}
}
}