^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;
}
}
}
}
}