我需要使用气球2中的args[2]
而不是1.12
,与args[0]
和args[1]
相同,但这是在程序的后面。有一个框架,我删除了它们的所有内容,以为该网站要我这样做。
import javax.swing.*;
import java.awt.*;
public class ProportionalBalons extends JPanel {
public void runArguments(String[] args) {
String currencyCostumerHas = args[0];
String currencyCostumerWants = args[1];
String USDollarToEUEuroexchangeValueS = args[2];
int exchangeValue = new Integer(USDollarToEUEuroexchangeValueS).intValue();
}
public void paintComponent(Graphics g) {
double balon1Diameter = costumerDeposit;
double balon2Diameter = costumerDeposit * 1.12;
//ballon 1
g.drawOval(10, 10, balon1Diameter, balon1Diameter);
//ballon 2
g.drawOval(60 * 8, 10, balon2Diameter, balon2Diameter);
}
}
答案 0 :(得分:1)
您需要捕获从runArguments
获得的信息。我认为实际上您想要的是一个构造函数:
public class ProportionalBalons extends JPanel {
private String currencyCostumerHas;
private String currencyCostumerWants;
private double exchangeRate = args[2];
public ProportionalBalons(int currencyCustumerHas, String currencyCustumerWants, exchangeRate) {
this.currencyCostumerHas = currencyCostumerHas;
this.currencyCostumerWants = currencyCostumerWants;
this.exchangeRate = exchangeRate;
}
public void paintComponent(Graphics g) {
double balon1Diameter = costumerDeposit;
double balon2Diameter = costumerDeposit * exchangeRate;
//ballon 1
g.drawOval(10, 10, balon1Diameter, balon1Diameter);
//ballon 2
g.drawOval(60 * 8, 10, balon2Diameter, balon2Diameter);
}
}
在这里,当您创建一个新的ProportionalBalons
对象时,您将捕获自变量的值,并且它们对ProportionalBalons
中定义的所有方法均可用。
一些注意事项:
customerDeposit
的定义;我认为它在某个地方。如果必须的话,也可以在构造函数中捕获它。int
。如果美元是1x
或2x
欧元,请选择1x
(我将获得美元付款)。我已将此设置为double
。答案 1 :(得分:0)
如果您的args []变量是在paintComponent()和runArguments()方法之外声明和初始化的,那么您应该可以从paintComponent内对其进行调用。
double balon2Diameter=costumerDeposit*args[2];
如果该变量仅是局部变量,则它将不起作用。