Java 以下程序缺少哪个类?

Java 以下程序缺少哪个类?,java,arrays,Java,Arrays,您正在从静态方法调用方法“unique\u element”。 要解决这个问题,要么将方法“unique_element”声明为静态的,要么在对象上下文中调用它 if(arr[j]&x) 请注意,要传递数组,您应该使用“arr”作为参数调用“unique_element”,而不是“arr[]”。您忘记了清除N的数据类型。还需要声明方法唯一的\u元素->静态,或者创建测试的新实例 例如: Test t = new Test(); int arr[]={3,1,1,9,3,1,

您正在从静态方法调用方法“unique\u element”。
要解决这个问题,要么将方法“unique_element”声明为静态的,要么在对象上下文中调用它

      if(arr[j]&x)

请注意,要传递数组,您应该使用“arr”作为参数调用“unique_element”,而不是“arr[]”。

您忘记了清除
N
的数据类型。还需要声明方法
唯一的\u元素
->
静态
,或者创建
测试的新实例

例如:

Test t = new Test();
int arr[]={3,1,1,9,3,1,3,9,9,5};
int N = arr.length;
t.unique_element(arr,N);
更新:

if语句-->
if(arr[j]&x){sum++;}

实际上
if(arr[j]&x)
c
风格的Java语法,在
if
语句中需要一个
boolean
表达式。您可以更改它:

public static void main(String[] args){
    int arr[]={3,1,1,9,3,1,3,9,9,5};
    // declear N with data type
    int N=arr.length;
    System.out.println(new Test().unique_element(arr,N));
}
同样的情况也适用于:
if(总和%3)
。这应该是:

if((arr[j] & x) !=0){ sum++;}

虽然给出的这些答案会让你得到正确的答案,但我会选择不同的方法,并实际将
unique_element
作为一个静态方法,这意味着它只会有一个实例。静态方法非常适合这种情况,因为它不需要状态、两个输入和一个输出

例如:

if(sum%3 !=0)
{
    result |= x;
    System.out.println(x);
}

包org.stackoverflow.thread\u safe\u账户;
公开课考试{
公共静态int唯一_元素(int arr[],
int(n){
int结果=0;
对于(int i=0;ix=(1也可以简化为
new Test()。unique_元素(arr[],N);
@rocus2k绝对,我只是假设OP是初学者,可能会被一个线性调用弄糊涂。你真的会调用
unique_元素(arr[],N);
提示:
[]
org.stackoverflow.thread safe_帐户有什么用这个包?它只是我把示例代码放在其中的包的名称?其中的条件“if”应该计算为true或false。您是否打算使用“&&”而不是“&”?同样,您应该使用“sum%3==0”或“sum%3!=0”而不是“sum%3”@sukesh我已经更新了答案。
if(sum%3 !=0)
{
    result |= x;
    System.out.println(x);
}

package org.stackoverflow.thread_safe_account;

public class Test {
    public static int unique_element(int arr[],
                                     int n) {
        int result = 0;
        for (int i = 0; i < n; i++) {
            int sum = 0;
            x = (1 << i);
            for (int j = 0; j < n; j++) {
                if (arr[j] & x)
                    sum++;
            }
            if (sum % 3) {
                result |= x;
                System.out.println(x);
            }
        }
        return (result);
    }

    public static void main(String[] args) {
        int arr[] = {3, 1, 1, 9, 3, 1, 3, 9, 9, 5};
        N = arr.length;
        System.out.println(Test.unique_element(arr[],N));
    }
}