在Java中,如果想要限制用戶輸入的內容只能為數字和小數點,可以通過使用正則表達式來實現。下面是一個示例代碼:
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner input = new Scanner(System.in); String regex = "[0-9.]+"; // 只能輸入數字和小數點 String text; do { System.out.print("請輸入數字和小數點:"); text = input.nextLine(); } while (!text.matches(regex)); System.out.println("輸入正確!"); } }
上面的代碼中,首先定義了一個正則表達式[0-9.]+
,表示只能輸入數字和小數點,并且可以連續輸入多個數字和小數點。然后利用Scanner
類獲取用戶輸入的內容,如果輸入的內容符合正則表達式要求,則提示輸入正確,否則繼續提示用戶輸入。
需要注意的是,正則表達式中的[]
表示字符集合,其中的0-9
表示所有數字,.
表示小數點。而+
表示匹配前面的字符集合一次或多次。
因此,上面的正則表達式可以匹配以下一些例子:
- 123
- 0.1
- .25
- 456.78
但無法匹配以下例子:
- abc
- 12a3.4b5
- 1.2.3