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類就可以獲取鍵盤的輸入了
封裝類裡面的方法可以根據實際需求,不斷的壯大。
相關文章
- Android開發 - 儲存輔助類 SharedPreferences 解析Android
- 常用輔助類
- 聊聊併發(三)——同步輔助類
- 開發常用的輔助函式函式
- 《iOS 開發輔助篇》使用OmniGraffle匯出Xcode類圖iOSXCode
- Java多執行緒打輔助的三個小夥子Java執行緒
- Android開發 - 掌握ConstraintLayout(七)輔助線(Guideline)AndroidAIGUIIDE
- 使用 Tye 輔助開發 dotnet 應用程式
- 對XAML進行編輯的輔助類(XamlHelper)
- C# RESTful API 訪問輔助類C#RESTAPI
- Gradle多渠道打包的原理、實踐與輔助開發Gradle
- Java開發常用的16個工具類Java
- AI輔助Kano模型進行產品開發AI模型
- 開發直播app軟體除了技術還缺少一個“高效輔助”APP
- JUC併發程式設計學習筆記(七)常用的輔助類程式設計筆記
- 【JavaScript框架封裝】實現一個類似於JQuery的動畫框架的封裝JavaScript框架封裝jQuery動畫
- 使用 NPOI/DocX 二次封裝Office(Word、Excel)幫助類封裝Excel
- 一、類的封裝性封裝
- Java類的設計和封裝及類成員的訪問控制Java封裝
- 【JavaScript框架封裝】實現一個類似於JQuery的CSS樣式框架的封裝JavaScript框架封裝jQueryCSS
- JUC之Callable介面回顧和JUC輔助類
- 十個推薦使用的 Laravel 的輔助函式Laravel函式
- java 封裝Java封裝
- 通用輔助生成: 使用任意輔助模型加速解碼模型
- 十五、類與封裝的概念封裝
- 搜狐輔助材料
- 封裝Date工具類封裝
- 封裝Redis工具類封裝Redis
- 程式設計開發輔助神器Boop 1.2.1 Mac官方版程式設計OOPMac
- java 一個類實現兩個介面的案例Java
- Excel匯入匯出-(poi)簡單封裝兩個類,拿來就可以用Excel封裝
- 如何新增輔助線(幾何問題)如何畫輔助線
- Java(三)封裝Java封裝
- Angular路由——輔助路由Angular路由
- Laravel 輔助函式Laravel函式
- 編寫了一個輔助Flutter彈出Toast的PackageFlutterASTPackage
- 基於Docker封裝的開發包工具Docker封裝
- 開發時候常用的js方法封裝JS封裝
- 首個接入chatGPT的開源文件工具來了! 可用AI輔助生成文件!ChatGPTAI