不兼容的变量类型问题

时间:2018-04-17 10:30:53

标签: java variables if-statement

我是编码的新手,刚刚在Java上选择了我的第一个编码单元,对于我们的一个编程项目,我们的任务是采用数字序列并导出用于创建该编码的多项式顺序为“x。”

以下代码段(它是一个段吗?我的意思是,它是血腥的长)来自Term类,其作用是输出多项式的单个项,并由其他2个类中的方法调用 - 多项式和序列。它是另一种方法的更新版本,但是这一方法不会在x^1x的位置输出0x^3之类的内容,而不是0,{{1}代替2x^0等等等。

作为编码的新手,我的代码并不是你要关注的最漂亮的东西。准备好你可能会看到的最令人作呕的代码:

2

// this function returns the term as a String for display:
// see the sample file and the test program for the layout required

我所指的示例文件和测试程序可以在单位网站上找到:http://teaching.csse.uwa.edu.au/units/CITS1001/projects/project1/,如果您想尝试一下,它还有我们设置的项目的详细信息!< / p>

我在这里遇到的问题,代码的肮脏,是我尝试编译时得到的错误消息流 - 例如,我收到的第一条错误消息就出现在public String displayImproved() { if(coefficient > 1) { if (exponent <= 1) { if (exponent = 1) { return " +" + coefficient + "x"; } else { return " +" + coefficient; } if (exponent = 0) { return " +" + coefficient + "x^" + exponent; } } if(coefficient = 1) { if (exponent <= 1) { if (exponent = 1) { return " +" + "x"; } else { return " +" + "1"; } } else { return " +" + "x^" + exponent; } } } if (coefficient = 0) { return ""; } if (coefficient < 0) { if (exponent <= 1) { if (exponent = 1) { return coefficient + "x"; } else { return coefficient; } } else { return coefficient + "x^" + exponent; } } }` 行上了告诉我“不兼容的类型:int无法转换为boolean”。作为参考,if (exponent = 1)变量是整数,exponent变量是double。我正在使用的程序是BlueJ,如果这有帮助的话。并不是说我很快就能使用我的代码!

那么为什么BlueJ告诉我,我正在尝试在变量类型之间切换,为什么它不起作用?

2 个答案:

答案 0 :(得分:2)

您需要更改所有 if(exponent = 1) if(exponent == 1) 因为一个=你的分配价值,而你用两个你检查平等

答案 1 :(得分:-1)

使用=时,表示将exponent的值设置为1。