[英]how do i do a simple loop and JOptionPane in java
我必須采用此代碼並向其和JOptionPane
添加循環if語句,以便在輸入名稱和框數時,它一直循環並顯示選擇最多的框的名稱和框數,直到退出為止。 但是我已經落伍了,我只是根本不確定該怎么做,我在循環方面遇到很多麻煩。
這是代碼:
public class Picker {
private String name;
private int numberOfBoxes;
private int payAmount;
public static final int PAY_PER_BOX = 3;
public Picker(String name, int numberOfBoxes) {
setName(name);
//this will set the number of boxes and the pay.
setNumberOfBoxes(numberOfBoxes);
}
public void setName(String name) {
this.name = name;
}
public void setNumberOfBoxes(int numberOfBoxes) {
this.numberOfBoxes = numberOfBoxes;
//also set the pay based on the number of boxes.
payAmount = numberOfBoxes * PAY_PER_BOX;
}
public String getName() {
return name;
}
public int getNumberOfBoxes() {
return numberOfBoxes;
}
public int getPayAmount() {
return payAmount;
}
public String toString() {
return "Name: " + name + "\n"
+ "Number of boxes: " + numberOfBoxes + "\n"
+ "Pay: $" + payAmount + "\n";
}
}
import java.util.Scanner;
public class PickerTest {
private static Scanner input = new Scanner(System.in);
public static final String BUSINESS_NAME = "Ham's Blueberry Patch";
public static void main(String[] args) {
//Create the two pickers
Picker picker1 = getPicker();
Picker picker2 = getPicker();
//Call method to show output
showSummary(picker1, picker2);
}
public static Picker getPicker() {
//Get picker 1
System.out.println("Enter name for picker");
String name = input.nextLine();
System.out.println("Enter number of boxes");
int numberOfBoxes = input.nextInt();
input.nextLine();
Picker picker = new Picker(name, numberOfBoxes);
return picker;
}
public static void showSummary(Picker p1, Picker p2) {
System.out.println("");
System.out.println(BUSINESS_NAME);
System.out.println("");
p1.toString();
System.out.println("");
p2.toString();
System.out.println("");
System.out.println("Total Boxes: " + (p1.getNumberOfBoxes() + p2.getNumberOfBoxes()));
System.out.println("Total Pay: " + (p1.getPayAmount() + p2.getPayAmount()));
}
}
任何幫助將不勝感激。 謝謝。
您可以從以下代碼獲取幫助:
for (int i = 0; i < 3; i++) {
JOptionPane.showConfirmDialog(null, "Hello"); // as parent component is null
}
上面的代碼在退出前顯示JOptionPane
三次。 因此,您可以根據需要使用for或while循環。
public String toString() {
return "Name: " + name + "\n"
+ "Number of boxes: " + numberOfBoxes + "\n"
+ "Pay: $" + payAmount + "\n";
}
對於初學者,將@Override
標記放在此方法上方是一個很好的主意,因為您將覆蓋Object類中的默認toString()方法。 放置@Override
將提高代碼的可讀性,並在您的方法名稱中捕獲小的輸入錯誤,這是開發人員非常接受的做法。
現在,假設我正確理解了您的問題,則可以進行一個while
循環,該循環將永遠運行並顯示指針的名稱和數量的盒子。 您可以將這些指針存儲為Pointer
類中的靜態變量,並在它們之間循環並根據最大值進行打印。 為了減少垃圾郵件,您可以存儲Pointer
或String
類型的臨時變量(如果要存儲指針名稱),並且如果最大值等於該變量,則不打印任何內容,否則更新該臨時變量並根據您的值打印要打印的內容。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.