我正在做一个程序,它有两个不同的问题,准确地说是欧姆和安培。
我知道怎么做,但问题是,最后还会弹出一个问题,问“你想重新计算吗?”这个问题应该是这样的,如果我按"Y“,程序应该从头开始,如果我按"N”,程序应该退出。
我希望任何人都有一些想法,可以帮助我完成这项工作。并且程序必须是JOptionpane.dialog/message格式。
//delajz
这是我拿到的自动取款机。
//Declaring Variables
Ampere = Integer.parseInt(FragaAm);
Ohm = Integer.parseInt(FragaOhm);
//koden
do
{
FragaAm =JOptionPane.showInputDialog("Hur många Ampere? ");
FragaOhm = JOptionPane.showInputDialog("hur hög resistans? ");
svar = Ohm*Ampere; //calculate
slutsvar = svar + "Volt"; //answer
JOptionPane.showMessageDialog(null,slutsvar);
borjaom =JOptionPane.showInputDialog("Igen? J eller N " ); // the question which ask for new calc
} while ( borjaom == "j" ||borjaom == "J" );发布于 2009-12-15 23:30:09
你可以从Sun的文章How to Make Dialogs开始。
它提到了一个与您要创建的JOptionPane类似的配置:

final JOptionPane optionPane = new JOptionPane(
"The only way to close this dialog is by\n"
+ "pressing one of the following buttons.\n"
+ "Do you understand?",
JOptionPane.QUESTION_MESSAGE,
JOptionPane.YES_NO_OPTION);发布于 2009-12-15 23:50:08
试试这个:
borjaom =JOptionPane.showInputDialog(null, "Igen? J eller N " );此外,JOptionPane 只能用于输入字符串。因此,您为接收来自JOptionPane的输入而设置的所有变量都应该声明为String。Ampere和Ohm应声明为整数,而FragaAm、FragaOhm和borjaom应声明为字符串。
发布于 2009-12-16 01:02:18
您的while条件:
} while ( borjaom == "j" ||borjaom == "J" );假设字符串可以基于对象进行比较,虽然这在字符串被内嵌的情况下是正确的,但最好切换到表示Yes/No结果的枚举整数,或者使用String中的equals方法,如下所示:
} while ("J".equalsIgnorecase(borjaom));(使用这种格式而不是borjaom.equalsIgnorecase("J")的优点是,它可以正确处理borjoam == null的情况。)
https://stackoverflow.com/questions/1908019
复制相似问题