语法错误,赋值左边应该是变量

运行结果告诉标记num1 num2有语法错误,赋值左边必须是变量

img

左边字符串提示信息和右边的值中间缺少了一个+号

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/368893
  • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。
  • 除此之外, 这篇博客: 字符串相乘:2种解题思路中的 第二种:利用乘法公式,把num1,num2的每个位相乘的结果放到在数组对应的偏移位上,最终数组上的值就是相乘的结果。 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    num1的第i位和num2的第j位相乘的结果在乘积中的位置是 [i+j, i+j+1]
    例如 “123” * “45”,  123的第3位 num1[2] = 3 和45的第2位 num2[1] = 5 乘积 15 存放在数组的 muls[3], muls[4]中

    数组索引 0 1 2 3 4  
      
    num1        1 2 3
    num2          4 5
            ---------
    3*5           1 5
    2*5         1 0
    1*5       0 5
            ---------
    3*4         1 2
    2*4       0 8
    1*4     0 4
            ---------
    结果     0 5 5 3 5
  • 以下回答来自chatgpt:

    由于代码中没有具体的错误提示和相关代码,无法直接定位出错位置,但根据问题描述“赋值左边必须是变量”,可以初步断定是代码中出现了类似于如下代码的语法错误:

    num1 + num2 = sum;
    

    在这句代码中,等号左边不是一个变量,而是一个表达式,故会导致语法错误。

    解决这个问题的方法是修改赋值语句,让等号左边成为一个有效的变量。具体来说,可以根据具体情况,选用如下方法之一进行修改:

    1. 如果等号左边本来就是一个变量,那么说明出现了其他问题。可以检查变量名是否正确、类型是否匹配、作用域是否正确等等,进一步定位错误。

    2. 如果等号左边不是一个变量,那么需要修改代码。具体修改方式有以下几种:

    3. a. 将等号左边的表达式拆分成多个步骤,逐一计算并赋值给变量。例如,将 num1 + num2 拆分成 num3 = num1 + num2sum = num3 两步,使等号左边都成为变量名。

      java int num3 = num1 + num2; int sum = num3;

    4. b. 重新分配变量名,使其成为一个合法的变量。例如,将 num1 + num2 改为 num_1_2,使 num_1_2 成为一个合法的变量名。

      java int num_1_2 = num1 + num2; int sum = num_1_2;

    5. c. 如果表达式的计算结果只在一个地方使用,可以直接将其作为参数传递给对应的方法,避免单独赋值。例如,将 num1 + num2 作为参数传递给 sum 方法,避免把其单独赋值给变量。

      ```java int sum = sum(num1, num2);

      // ...

      int sum(int a, int b) { return a + b; } ```

    综上所述,需要根据具体情况来选择解决方案,同时注意代码规范和语法正确性,避免出现语法错误。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^