java輔助開發的兩個封裝類
第一個是獲取固定型別資料的封裝類
有以下靜態方法,可以用類名.方法呼叫,返回的是對應的資料型別
nextInt()
nextFloat()
nextBoolean()
next()
要求使用者輸入固定型別的數,否則一直迴圈知道輸入正確的數,
直到輸入的是符合要求的,並返回該數值
package com.lwz.util;
import java.util.Scanner;
public class MyInput {
public static Scanner scanner = new Scanner(System.in);
// 排除非整數的輸入的實現程式碼,否則一直迴圈輸入,直到輸入整數
public static int nextInt() {
while (!scanner.hasNextInt()) {
System.err.println("請輸入整數:");
scanner.next();
}
return scanner.nextInt();
}
// 獲取輸入的float型別的小數的方法
public static float nextFloat() {
while (!scanner.hasNextFloat()) {
System.err.println("請輸入小數:");
scanner.next();
}
return scanner.nextFloat();
}
// 獲取輸入的double型別的小數的方法
public static double nextDouble() {
while (!scanner.hasNextDouble()) {
System.err.println("請輸入小數:");
scanner.next();
}
return scanner.nextDouble();
}
// 獲取輸入的boolean型別數值的方法
public static boolean nextBoolean() {
while (!scanner.hasNextDouble()) {
System.err.println("請輸入布林型別數值:");
scanner.next();
}
return scanner.nextBoolean();
}
// 獲取輸入的字串的方法
public static String next() {
return scanner.next();
}
}
// 關閉Scanner物件的方法
public static void scannerClose() {
scanner.close();
}
}
第二個類是過濾若干個元素或資料範圍的封裝類
/*
* 這個類是依賴於Myinput類使用的
*
* 第一種方法、判斷使用者輸入的是否是規定的符號,否則一直迴圈,直到輸入正確
* String filter(兩個以上引數);引數值是String型別的
* 暫時支援七個引數的輸入,返回值是要輸入的正確值
* 比如你需要使用者輸入加減乘除,就可以輸入四個引數,方法會幫你過濾選擇,
* 如果選擇的不是加減乘除會要求重新輸入,直到輸入的是合法的,
並返回
*
* 第二種方法、判斷輸入的數是否在一個數值範圍內
* intfilterIntBiger(int a);
* 該方法要求輸入一個比a大的整數,否則會一直提示輸入,直到符合要求,返回的是符合要求的數
* intfilterIntAB(int a,int b);
* 該方法要求輸入一個在a到b之間的整數,否則會一直提示輸入,直到符合要求,返回的是符合要求的數
*
* 這裡只是一個簡單的範本,可以根據實際需要可以不斷的壯大這個封裝類
* 比如你可以個數增加幾個,又或者可以判斷的是多個整數值,數值範圍要求可以是小數等等
* * */
package com.lwz.util;
public class MyDateFilter {
// 2個元素的判斷
public static String filter(String a, String b) {
String choice = "";
choice = MyInput.next();
while (!a.equals(choice) && !b.equals(choice)) {
System.out.println("請輸入:" + a + " / " + b);
choice = MyInput.next();
}
return choice;
}
// 3個元素的判斷
public static String filter(String a, String b, String c) {
String choice = "";
choice = MyInput.next();
while (!a.equals(choice) && !b.equals(choice) && !c.equals(choice)) {
System.out.println("請輸入:" + a + " / " + b + " / " + c);
choice = MyInput.next();
}
return choice;
}
// 4個元素的判斷
public static String filter(String a, String b, String c, String d) {
String choice = "";
choice = MyInput.next();
while (!a.equals(choice) && !b.equals(choice) && !c.equals(choice)
&& !d.equals(choice)) {
System.out.println("請輸入:" + a + "/" + b + "/" + c + "/" + d);
choice = MyInput.next();
}
return choice;
}
// 5個元素的判斷
public static String filter(String a, String b, String c, String d, String e) {
String choice = "";
choice = MyInput.next();
while (!a.equals(choice) && !b.equals(choice) && !c.equals(choice)
&& !d.equals(choice) && !e.equals(choice)) {
System.out.println("請輸入:" + a + "/" + b + "/" + c + "/" + d + "/"
+ e);
choice = MyInput.next();
}
return choice;
}
// 6個元素的判斷
public static String filter(String a, String b, String c, String d, String e,
String f) {
String choice = "";
choice = MyInput.next();
while (!a.equals(choice) && !b.equals(choice) && !c.equals(choice)
&& !d.equals(choice) && !e.equals(choice) && !f.equals(choice)) {
System.out.println("請輸入:" + a + "/" + b + "/" + c + "/" + d + "/"
+ e + "/" + f);
choice = MyInput.next();
}
return choice;
}
// 7個元素的判斷
public static String filter(String a, String b, String c, String d, String e,
String f, String g) {
String choice = "";
choice = MyInput.next();
while (!a.equals(choice) && !b.equals(choice) && !c.equals(choice)
&& !d.equals(choice) && !e.equals(choice) && !f.equals(choice)
&& !g.equals(choice)) {
System.out.println("請輸入:" + a + "/" + b + "/" + c + "/" + d + "/"
+ e + "/" + f + "/" + g);
choice = MyInput.next();
}
return choice;
}
//判斷輸入的數範圍是否合法
public static int filterIntAB(int a,int b){
int choice=0;
choice=MyInput.nextInt();
while (choiceb) {
System.out.print("\n請輸入範圍在"+a+" - "+b+"之間的數:");
choice=MyInput.nextInt();
}
return choice;
}
//判斷輸入的數大於或等於某個值
public static int filterIntBiger(int a){
int choice=0;
choice=MyInput.nextInt();
while (choice
這兩個類使用於一些需要獲取使用者輸入的程式裡面,獲取判斷使用者的輸入合法性。
我一般是把這兩個類放到一個包裡,把整個包,複製到工程檔案中,就可以用類名.方法,來呼叫需要的方法。
無需使用Scanner類就可以獲取鍵盤的輸入了
封裝類裡面的方法可以根據實際需求,不斷的壯大。
相關文章
- 封裝JDBC—非框架開發必備的封裝類封裝JDBC框架
- 封裝ADO訪問資料庫的兩個類 (轉)封裝資料庫
- Android開發 - 儲存輔助類 SharedPreferences 解析Android
- 【菜鳥學Java】3:封裝一個分頁類PageBeanJava封裝Bean
- Java開發常用的16個工具類Java
- 一個最簡單的類JQuery封裝jQuery封裝
- Mybatis封裝分頁查詢的java公用類MyBatis封裝Java
- 【JavaScript框架封裝】實現一個類似於JQuery的動畫框架的封裝JavaScript框架封裝jQuery動畫
- php的curl封裝類PHP封裝
- 一、類的封裝性封裝
- 封裝xunsearch類封裝
- JS 封裝類JS封裝
- Java類的設計和封裝及類成員的訪問控制Java封裝
- 這兩個java類的作用是什麼?Java
- 【JavaScript框架封裝】實現一個類似於JQuery的CSS樣式框架的封裝JavaScript框架封裝jQueryCSS
- PHP封裝的一個單例模式Mysql操作類PHP封裝單例模式MySql
- 一個C#封裝的加密解密類程式碼C#封裝加密解密
- java封裝Java封裝
- java 封裝Java封裝
- 前端開發 通用JS工具的封裝前端JS封裝
- 十五、類與封裝的概念封裝
- http通訊類的封裝HTTP封裝
- 封裝Date工具類封裝
- JsonValue 封裝類JSON封裝
- 封裝Redis工具類封裝Redis
- java 一個類實現兩個介面的案例Java
- Excel匯入匯出-(poi)簡單封裝兩個類,拿來就可以用Excel封裝
- 基於Docker封裝的開發包工具Docker封裝
- 開發時候常用的js方法封裝JS封裝
- 如何封裝一個自動歸、解檔類封裝
- Java(三)封裝Java封裝
- 15_類與封裝的概念封裝
- c#封裝DBHelper類C#封裝
- 4、類和物件—封裝物件封裝
- 自用驗證類封裝封裝
- 封裝獲取Class類封裝
- 請教:用Java開發一個類51job之類的網站Java網站
- 模板化的封裝,降低業務程式碼開發封裝