首页 > 解决方案 > 错误:int 无法取消引用 java(重复)

问题描述

我正在编写一个简单的 Java 程序来进行温度转换,并且在第 8 行(我已在下面的代码中标记)上不断收到一个错误,即无法取消引用 int。我不确定这到底是什么意思,或者如何解决它,这里有相同错误的其他问题无助于为我的错误找到解决方案。问题是:具有格式:

 ?<int><int><int><int>

我必须解决?在这种情况下,但考虑到第二个向量乘以 3,第三个乘以 1,第四个乘以 0,最后一个向量被减去。

class LeaderBoard{
  public static void main(String[] args){
    String errorFormat = "Format error: You must write 4 integers and one symbol ?";

    int[] list = null;
    int position = -1, j = 0;

    if(args.length!=5){
        System.err.println(errorFormat);
    }else{
        try {
            list = new int[4];
            for(int i=0;i<args.length;i++){
                if(position== -1 && args[i].equals("?")){
                    position = i;
                }else if((position!= -1 && args[i].equals("?")) || (j==4)){
                    //Hay mas de un ? o no hay ?
                    System.err.println(errorFormat);
                    System.exit(1);
                }else{
                    list[j] = Integer.parseInt(args[i]);
                    j++;
                }
            }
        } catch (NumberFormatException e) {
            System.err.println(errorFormat);
            System.exit(1);
        }

        System.out.println("The missing value is "+calculate(position,list)); 
    } 
}

static int calculate(int position, int[] list){
    position=0;
    for (int i=0; i<list.length; i++){
        if(list[1]==0){

position=list[1]*3+list[2]*1+list[3]*0+list[4]*(-1);
        }
    }   
    return 0;   
}}

当我执行程序时,我总是得到值 0,尽管我改变了输入值。

有人可以帮助我吗?

标签: java

解决方案


list[1]是原始类型。您不能在其上调用方法。因此,当您尝试调用equal(您的意思是equals()?)时,您会收到错误消息。

除此之外,您的逻辑没有意义。您正在尝试将intaString与 a 进行比较,然后将布尔结果与另一个进行比较int


推荐阅读