我是编程语言的新手,
如何在Java中使等效线性化
3 * a = 15
,如果我定义了n = 15
,我怎么能找到a
的值?2a + 3b = 8
,如何找到a
和b
的值?我尝试过
import javax.swing.*;
public class Linear{
public static void main(String[] args){
String str = JOptionPane.showInputDialog(null, "Insert the value N = ");
int n = Integer.parseInt(str);
for (int x=1; x<=10; x++){
if ((2*x) = n){
JOptionPane.showInputDialog("x = ", x);
}
}
}
}
编译后,我得到
Linear.java:12: error: unexpected type
if ((2*x) = n){
^
required: variable
found: value
1 error
谢谢。
答案 0 :(得分:2)
您的专线
import("src/app/apis/mocks/consumer-list.dev")
是错误的。 if ((2*x) = n){
运算符表示一个赋值(将变量设置为给定值)。如所写,该行正在尝试将右侧的值(=
)分配给左侧的“变量”。但是,由于左侧有n
,它不是变量,而是表达式,因此编译器会抱怨。
您要检查是否相等,而不是创建分配。正确的行是(使用2*x
):
==
答案 1 :(得分:1)
您应该使用==
比较两个值,并使用=
为变量分配一个值。
因此,您应该替换
if ((2*x) = n){
使用
if ((2*x) == n){
答案 2 :(得分:1)
对于问题2,您可以简单地尝试a和b的循环并测试方程式:
for (int a = 0; a < 10; a++) {
for (int b = 0; b < 10; b++) {
if (2 * a + 3 * b == 8) {
System.out.println("Found solution a = " + a + " and b = " + b);
}
}
}