編寫一個constructor來實現檔案裡面資料的隨機抽取
ublic class BoxOfProduce {
private static String Item1;
private static String Item2;
private static String Item3;
/**
* 用來隨機抽取檔案內的水果名稱,並且複製給Lineread
*
* @return Lineread
* @throws IOException
*/
private String randomlySelect() throws IOException {
int Linenum;
String Lineread = null;
// 建立Random類,隨機生成0~4之間的一個數
Random rd = new Random();
Linenum = rd.nextInt(5);
// 開啟檔案
File file = new File("itemList.txt");
Scanner inputFile = new Scanner(file);
// 用for迴圈給Lineread賦值
for (int i = 0; i <= Linenum; i++) {
Lineread = inputFile.nextLine();
}
// 關閉檔案
inputFile.close();
// 返回Lineread
return Lineread;
}
/**
* 建立一個constructor,給Item1,Item2,Item3賦值
*
* @throws IOException
*/
public BoxOfProduce() throws IOException {
Item1 = randomlySelect();
Item2 = randomlySelect();
Item3 = randomlySelect();
}
/**
* 用來返回Item1
*
* @return Item1
*/
public static String getItem1() {
return Item1;
}
/**
* 可以用來改變Item1的值
*
* @param item1
*/
public static void setItem1(String item1) {
Item1 = item1;
}
/**
* 用來返回Item2
*
* @return Item2
*/
public static String getItem2() {
return Item2;
}
/**
* 可以用來改變Item2的值
*
* @param item2
*/
public static void setItem2(String item2) {
Item2 = item2;
}
/**
* 用來返回Item3
*
* @return Item3
*/
public static String getItem3() {
return Item3;
}
/**
* 可以用來改變Item3的值
*
* @param item3
*/
public static void setItem3(String item3) {
Item3 = item3;
}
/**
* 輸出Item1,Item2,Item3的值
*/
public void display() {
System.out.println("The contents of the box:");
System.out.println("Item1:" + Item1);
System.out.println("Item2:" + Item2);
System.out.println("Item3:" + Item3);
System.out.println();
}
public static void main(String[] args) throws IOException {
String answer; //用來得到使用者的答案
String substituteItem;//使用者輸入的用來替換的水果名稱
//建立Scanner類
Scanner kb = new Scanner(System.in);
//建立BoxOfProduce類
BoxOfProduce boxOfProduce = new BoxOfProduce();
boxOfProduce.display();
//詢問使用者是否滿意第一種水果
System.out.print("Do you agree with the selected item1,"
+ boxOfProduce.getItem1() + "(Yes or No):");
answer = kb.nextLine();
if (answer.equals("No")) {
System.out
.print("Enter the substituting fruit or vegetable for item1:");
//得到替換水果的名稱
substituteItem = kb.nextLine();
boxOfProduce.setItem1(substituteItem);
}
System.out.print("Do you agree with the selected item2,"
+ boxOfProduce.getItem2() + "(Yes or No):");
answer = kb.nextLine();
if (answer.equals("No")) {
System.out
.print("Enter the substituting fruit or vegetable for item2:");
substituteItem = kb.nextLine();
boxOfProduce.setItem2(substituteItem);
}
System.out.print("Do you agree with the selected item3,"
+ boxOfProduce.getItem3() + "(Yes or No):");
answer = kb.nextLine();
if (answer.equals("No")) {
System.out
.print("Enter the substituting fruit or vegetable for item3:");
substituteItem = kb.nextLine();
boxOfProduce.setItem3(substituteItem);
}
System.out.println();
//輸出最終結果
boxOfProduce.display();
}
}
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70007877/viewspace-2837592/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 從資料集中隨機抽取一定數量的資料隨機
- Perl IO:隨機讀寫檔案隨機
- 編寫一個 SQL 查詢來實現分數排名。SQL
- 一個PHP通用隨機密碼的實現PHP隨機密碼
- MySQL 隨機查詢資料與隨機更新資料實現程式碼MySql隨機
- webpack輸出檔案分析以及編寫一個loaderWeb
- 配置檔案的編寫
- uniapp 隨機抽取影片播放APP隨機
- 最近很火的Vue Vine是如何實現一個檔案中寫多個元件Vue元件
- 知識圖譜從哪裡來:實體關係抽取的現狀與未來
- 機器之心轉載 | 知識圖譜從哪裡來:實體關係抽取的現狀與未來
- 隨便寫的一點BinTree模板實現
- [Electron]仿寫一個課堂隨機點名小專案隨機
- 編寫一個 Makefile 檔案,對階段專案一的程式碼進行自動化編譯編譯
- Xilinx內建RAM的初始化資料COE檔案編寫
- 實現一個炫酷的隨機標籤排列效果(顏色隨機,大小隨機,成菱形排列的列表)隨機
- Mac如何將多個檔案快速歸類到一個資料夾裡Mac
- 使用 Fuse 和 java 17 編寫一個簡單的檔案系統Java
- 用Vue編寫一個簡單的仿Explorer檔案管理器Vue
- 使用python的scrapy來編寫一個爬蟲Python爬蟲
- 資料庫課程作業筆記 - 編寫模型檔案資料庫筆記模型
- 生成固定大小的隨機檔案隨機
- RPM 的 spec 檔案如何編寫
- 如何編寫 RPM 的 spec 檔案
- C++ hpp檔案的編寫C++
- Javascript 實現一個post方式的檔案下載JavaScript
- Docker | dockerfile 檔案編寫Docker
- 如何編寫html檔案HTML
- 用一個檔案,實現迷你 Web 框架Web框架
- 檔案隨機或順序讀寫原理深入淺出隨機
- 陳胡:Apache SeaTunnel實現 非CDC資料抽取實踐Apache
- 程式設計面試題:編寫一個會造成資料庫死鎖的應用程式設計面試題資料庫
- Oracle單個資料檔案損壞,在Rman命令裡設定表空間、資料檔案offline方式來恢復最方便Oracle
- 資料庫課程作業筆記 - 編寫資料庫遷移檔案資料庫筆記
- 19. 從零開始編寫一個類nginx工具, 配置資料的熱更新原理及實現Nginx
- 把多個資料夾中的檔案批量放到一個資料夾
- 如何基於日誌,同步實現資料的一致性和實時抽取?
- DevOps GitLab CICD 實踐3——CI檔案編寫devGitlab