【发布时间】:2016-04-25 02:55:14
【问题描述】:
我想调用一个方法,提示用户输入行驶里程、使用的加仑数、计算每加仑英里数、显示这种类型的汽车在这次旅行中每加仑行驶了多少英里。我还希望这种方法能够回传一个“1”,以便稍后为每种类型的汽车添加频率计数器。 (如果汽车是本田,则在 arrayname[1] 中添加“1”,如果汽车是丰田,则在 arrayname[2] 中添加“1”等)。
int[] mpgList = new int[5]; // 5 because there are 4 more car types
mpgList[0] =
do{
prompt = Double.parseDouble(JOptionPane.showInputDialog(null, "Enter"
+ "\n"
+ "1 For Honda"));
if (prompt == 1)
{
forHonda();
};
......
public static void forHonda(){
double miles, gallons, mpg;
miles = Double.parseDouble(JOptionPane.showInputDialog(null,"Enter Miles Driven "));
if (miles <= -1){
JOptionPane.showMessageDialog(null,"Input Is Negative"
+ "\n"
+ "Try Again");
miles = Double.parseDouble(JOptionPane.showInputDialog(null,"Enter Miles Driven "));
}
gallons = Double.parseDouble(JOptionPane.showInputDialog(null,"Enter Gallons Used "));
if (gallons <= -1){
JOptionPane.showMessageDialog(null,"Input Is Negative"
+ "\n"
+ "Try Again");
gallons = Double.parseDouble(JOptionPane.showInputDialog(null,"Enter Gallons Used "));
}
mpg = (miles/gallons);
if (gallons == 0){
JOptionPane.showMessageDialog(null, "Division by Zero"
+ "\n"
+ "Try Again");
miles = Double.parseDouble(JOptionPane.showInputDialog(null,"Enter Miles Driven "));
gallons = Double.parseDouble(JOptionPane.showInputDialog(null,"Enter Gallons Used "));
mpg = (miles/gallons);
}
JOptionPane.showMessageDialog(null,String.format("MPG for HONDA: %.0f"
+ "\n", mpg));
......
public static void counter(int x[]){
for(int counter = 0; counter< x.length; counter++)
x[counter]+=1;
}
这是我想要的一种想法,但我被困在如何将数组用于频率计数器
【问题讨论】:
-
那么,当您添加
forToyota()时,您是否要重复当前forHonda()中的所有代码? -
您能详细解释一下吗?你在哪里打电话给
counter? -
我目前有多个 if (prompt ==1); if (prompt ==2) {1 是本田,2 是丰田,并在 if 中调用类似的方法} 我稍后将其更改为 switch case @JimGarrison
-
对于计数器,id 想在用户选择汽车类型时调用它,并计算他们选择的汽车类型以及多少次......如果这有意义的话。这是我主要困惑的部分;在哪里称呼它@ManhLe