Java 分配给变量can';t是一个要除的整数吗?

Java 分配给变量can';t是一个要除的整数吗?,java,variables,math,Java,Variables,Math,所以我不能让变量被整除,我需要能够做到这一点,否则我不知道如何完成我想要构建的锁的构建 它使用20个输入的数字,然后将它们排列成代数2/微积分方程组,然后求解“s”、“a”、“f”和“e”,首先通过替换从方程中删除“e” 我非常感谢您的帮助,我也乐于接受各种想法,因为到目前为止,我有25个这样的想法要建立,而这只是第一个想法的1/3 简言之,如何划分变量 import java.util.Scanner; public class Lock { public static v

所以我不能让变量被整除,我需要能够做到这一点,否则我不知道如何完成我想要构建的锁的构建

它使用20个输入的数字,然后将它们排列成代数2/微积分方程组,然后求解“s”、“a”、“f”和“e”,首先通过替换从方程中删除“e”

我非常感谢您的帮助,我也乐于接受各种想法,因为到目前为止,我有25个这样的想法要建立,而这只是第一个想法的1/3

简言之,如何划分变量

 import java.util.Scanner;

  public class Lock
  {

   public static void main(String[] args) {
   Scanner user_input = new Scanner (System.in);

   String num_a;
   System.out.print("Enter the first number: ");
   num_a = user_input.next();

   String num_b;
   System.out.print("Enter the second number: ");
   num_b = user_input.next();

   String num_c;
   System.out.print("Enter the third number: ");
   num_c = user_input.next();

   String num_d;
   System.out.print("Enter the fourth number: ");
   num_d = user_input.next();

   String num_e;
   System.out.print("Enter the fifth number: ");
   num_e = user_input.next();

   String num_f;
   System.out.print("Enter the sixth number: ");
   num_f = user_input.next();

   String num_g;
   System.out.print("Enter the seventh number: ");
   num_g = user_input.next();

   String num_h;
   System.out.print("Enter the eigth number: ");
   num_h = user_input.next();

   String num_i;
   System.out.print("Enter the ninth number: ");
   num_i = user_input.next();

   String num_j;
   System.out.print("Enter the tenth number: ");
   num_j = user_input.next();

   String num_k;
   System.out.print("Enter the eleventh number: ");
   num_k = user_input.next();

   String num_l;
   System.out.print("Enter the twetlth number: ");
   num_l = user_input.next();

   String num_m;
   System.out.print("Enter the thirteenth number: ");
   num_m = user_input.next();

   String num_n;
   System.out.print("Enter the fourteenth number: ");
   num_n = user_input.next();

   String num_o;
   System.out.print("Enter the fifteenth number: ");
   num_o = user_input.next();

   String num_p;
   System.out.print("Enter the sixteenth number: ");
   num_p = user_input.next();

   String num_q;
   System.out.print("Enter the seventeenth number: ");
   num_q = user_input.next();

   String num_r;
   System.out.print("Enter the eighteenth number: ");
   num_r = user_input.next();

   String num_s;
   System.out.print("Enter the nineteenth number: ");
   num_s = user_input.next();

   String num_t;
   System.out.print("Enter the twentieth number: ");
   num_t = user_input.next();

System.out.println(num_a + "s + " + num_b + "a + " + num_c + "f + " + num_d + "e = " + num_e);
System.out.println(num_f + "s + " + num_g + "a + " + num_h + "f + " + num_i + "e = " + num_j);
System.out.println(num_k + "s + " + num_l + "a + " + num_m + "f + " + num_n + "e = " + num_o);      
System.out.println(num_p + "s + " + num_q + "a + " + num_r + "f + " + num_s + "e = " + num_t);

System.out.println(num_a + "s + " + num_b + "a + " + num_c + "f + " + num_d + "[(" + num_t + " " + num_p + "s + " + num_q + "a " + num_r + "f) / " + num_s + "] =" + num_e);
System.out.println(num_f + "s + " + num_g + "a + " + num_h + "f + " + num_i + "[(" + num_t + " " + num_p + "s + " + num_q + "a " + num_r + "f) / " + num_s + "] =" + num_j);  
System.out.println(num_k + "s + " + num_l + "a + " + num_m + "f + " + num_n + "[(" + num_t + " " + num_p + "s + " + num_q + "a " + num_r + "f) / " + num_s + "] =" + num_o);

// THIS creates the fourth equation items/order to be substituted into the other first three equations.

int t = num_t;
int s = num_s;
int num_ts = (t / s);



num_ts = 
num_ps = (num_p / num_s);
num_qs = (num_q / num_s);
num_rs = (num_r / num_s);
// THIS is the Fourth equation being substituted into the First Equation
num_dts = (num_d * num_ts);
num_dps = (num_d * num_ps);
num_dqs = (num_d * num_qs);
num_drs = (num_d * num_rs);
// THIS is the Fourth equation being substituted into the Second Equation
num_its = (num_i * num_ts);
num_ips = (num_i * num_ps);
num_iqs = (num_i * num_qs);
num_irs = (num_i * num_rs);
// THIS is the fourth equation being substituted into the Third Equation
num_nts = (num_n * num_ts);
num_nps = (num_n * num_ps);
num_nqs = (num_n * num_qs);
num_nrs = (num_n * num_rs);

System.out.println(num_a + "s + " + num_b + "a + " + num_c + "f + " + num_dts + " " + num_dps + "s + " + num_dqs + "a " + num_drs + "f = " + num_e);
System.out.println(num_f + "s + " + num_g + "a + " + num_h + "f + " + num_its + " " + num_ips + "s + " + num_iqs + "a " + num_irs + "f = " + num_j);  
System.out.println(num_k + "s + " + num_l + "a + " + num_m + "f + " + num_nts + " " + num_nps + "s + " + num_nqs + "a " + num_nrs + "f = " + num_o);


 }



}

不能对字符串变量进行加、减、除或乘。要做到这一点,必须将变量转换为整数。此外,您还可以使用数组保存变量,因为变量太多了

字符串
整数
浮点
是不同的类型。例如,不能在
String
上应用
/
*
之类的运算符<代码>+是特殊的,因为它有一个
字符串的定义,这意味着连接

由于您需要对用户输入执行一些操作,因此可以将其直接读取为
int

System.out.print("Enter the first number: ");
int num_a = user_input.nextInt();

System.out.print("Enter the second number: ");
int num_b = user_input.nextInt();
那你就可以了

int num_ab = a / b;
请注意,如果
a
,则
num_ab
将为
0
,因为这是一个
int
eger。你可能想做一些类似的事情

float num_ab = (float)a / b;

现在,这段代码相当乏味。如果您接受处理变量的索引而不是字母,您可以在循环中初始化它们,例如

    Scanner in  = new Scanner(System.in);
    int[] numbers = new int[20];
    int index = 0;
    while (index < numbers.length) {
        System.out.println("Enter the "+(index+1)+"th number");
        int n = in.nextInt();
        numbers[index] = n;
        index++;
    }
    System.out.println(Arrays.toString(numbers));
如果你想通过名字访问变量,你可以定义常量

static final int a = 0;
static final int b = 1;
static final int c = 2;
//...

int num_ab = numbers[a] / numbers[b];

但在您的情况下,将初始变量和计算变量存储在某个位置可能会很方便,您可以在该位置检索它们以进行进一步计算:

// the store for all the variables and their value
static Map<String, Integer> vars = new HashMap<>();

// the function to read in the store
static Integer var(String name) {
    return vars.get(name);
}

想想这句话:
int t=num\u t
num\t这是一个
字符串
。在Java中不能这样分配交叉类型。尝试使用
Integer.parseInt()
。类似于
num\u ps=(num\u p/num\u s)这样的语句
num\u p
num\u s
都是
String
s,不能那样对它们应用算术运算符。“尝试使用
Integer.parseInt()
”和/或and。此外,不需要20个变量来容纳20个数字。你需要学习数组。你还需要学习一个最小示例的概念。这是非常重要的。
// the store for all the variables and their value
static Map<String, Integer> vars = new HashMap<>();

// the function to read in the store
static Integer var(String name) {
    return vars.get(name);
}
    Scanner in  = new Scanner(System.in);
    // The 20 variables...
    String alpha = "abcdefghijklmnopqrst";
    for (char c : alpha.toCharArray()) {
        String varName = String.valueOf(c);
        System.out.println("Enter the value for "+ varName);
        int n = in.nextInt();
        vars.put(varName, n);
    }

    System.out.println(vars.toString());

    int num_ab = var("a")/var("b");

    // Store ab for further computation
    vars.put("ab", num_ab);
    System.out.println("ab is " + var("ab");