Java的:算术

-1 java math

你觉得这段代码有什么不对吗?如果不能正常工作,它会返回一个NaN.

public class Method2 extends GUIct1
{
double x=0,y=0;


void settype1 (double conv1)
{
x = conv1;
}

void settype2 (double conv2)
{
y = conv2;
}

double conversion ( double amount)
{


double converted = (amount*y)/x;
    return converted;
}

}
Run Code Online (Sandbox Code Playgroud)

使用方式我已经改变了设定部分

Method2 convert = new Method2(); \\ method is called
Run Code Online (Sandbox Code Playgroud)

.....

convert.settype1(j);
Run Code Online (Sandbox Code Playgroud)

.....

convert.settype2(k);
Run Code Online (Sandbox Code Playgroud)

.....

double x = convert.conversion(i);
System.out.println(x);
Run Code Online (Sandbox Code Playgroud)

Jon*_*eet 7

好吧,你有方法设置变量叫做get-something 这个事实显然不是一个好主意,并且没有缩进......但它应该有效.但是,你还没有展示出你是如何使用它的.也许你实际上并没有被称为setter方法?

以下是相同代码但具有不同名称的示例,以及使用它的示例:

class Converter
{
    double multiplier = 0;
    double divisor = 0;


    void setMultiplier(double multiplier)
    {
        this.multiplier = multiplier;
    }

    void setDivisor(double divisor)
    {
        this.divisor = divisor;
    }

    double convert(double amount)
    {
        return (amount * multiplier) / divisor;
    }
}

public class Test
{
    public static void main(String[] args)
    {
        Converter converter = new Converter();
        converter.setMultiplier(3.5);
        converter.setDivisor(8.5);
        System.out.println(converter.convert(2)); // Prints 0.8235294117647058
    }
}
Run Code Online (Sandbox Code Playgroud)

就个人而言,我可能会让变量最终并在构造函数中设置它们,但那是另一回事......