Java--从数组中删除重复元素时出错

Java--从数组中删除重复元素时出错,java,arrays,for-loop,methods,Java,Arrays,For Loop,Methods,我知道有些人已经问过关于复制品的问题,我已经看过了所有这些答案,但似乎没有一个对我有帮助/我仍然无法编译它。在我的代码中是否有明显的遗漏????帮助(编程新手!) 我需要编写一个方法,它接受一个参数,一个字符串值数组,并返回一个新数组,该数组没有重复的值,也不需要对原始数组排序。比如说 String [] abc = {"A", "C", "C", "B", "A", "C", "B", "B", "A"}; String [] new = removeDuplicates (abc); for

我知道有些人已经问过关于复制品的问题,我已经看过了所有这些答案,但似乎没有一个对我有帮助/我仍然无法编译它。在我的代码中是否有明显的遗漏????帮助(编程新手!)

我需要编写一个方法,它接受一个参数,一个字符串值数组,并返回一个新数组,该数组没有重复的值,也不需要对原始数组排序。比如说

String [] abc = {"A", "C", "C", "B", "A", "C", "B", "B", "A"};
String [] new = removeDuplicates (abc);
for (int i = 0; i < new.length; i++)
{
    System.out.print (new[i] + " ");
}
System.out.println();
String[]abc={“A”、“C”、“C”、“B”、“A”、“C”、“B”、“B”、“A”};
字符串[]新=移除的副本(abc);
for(int i=0;i
输出应为:A C B

这是我的密码:

    import java.util.*;

    class Duplication
    {
        public static void main (String [] args)
        {
            String [] values = {"A", "C", "C", "B", "A", "C", "B", "B", "A"};
            String [] newList = removeDuplicates (values);
        }
        private static String removeDuplicates (String [] originalArray)
        {
            for (int i = 0; i < newList.length; i++)
            {
                System.out.print (newList[i] + " ");
            }
            System.out.println();

            String noDuplicates = originalArray.length;
            for (int d = 0; d < noDuplicates; d++)
            {
                for (int e = d + 1; e < noDuplicates; e++)
                {
                    if(originalArray[d] == originalArray[e])
                    {
                        originalArray[e] = originalArray[noDuplicates-1];
                        noDuplicates--;
                        e--;
                    }
                }
            }
        }  
    }
import java.util.*;
类复制
{
公共静态void main(字符串[]args)
{
字符串[]值={“A”、“C”、“C”、“B”、“A”、“C”、“B”、“B”、“A”};
字符串[]新列表=移除的副本(值);
}
移除的私有静态字符串重复(字符串[]原始数组)
{
for(int i=0;i
六个错误:

    Duplication.java:9: error: incompatible types
    String [] newList = removeDuplicates (values);
                                     ^
    required: String[]
    found:    String
    Duplication.java:14: error: cannot find symbol
    for (int i = 0; i < newList.length; i++)
                        ^
    symbol:   variable newList
    location: class Duplicates
    Duplication.java:16: error: cannot find symbol
        System.out.print (newList[i] + " ");
                          ^
    symbol:   variable newList
    location: class Duplicates
    Duplication.java:21: error: incompatible types
    String noDuplicates = originalArray.length;
                                       ^
    required: String
    found:    int
    Duplication.java:32: error: bad operand types for binary operator '-'
                originalArray[e] = originalArray[noDuplicates-1];
                                                             ^
    first type:  String
    second type: int
    Duplication.java:35: error: bad operand type String for unary operator '--'
                noDuplicates--;
                            ^
replication.java:9:错误:类型不兼容
字符串[]新列表=移除的副本(值);
^
必需:字符串[]
找到:字符串
重复。java:14:错误:找不到符号
for(int i=0;i
这在java中无效:

public static void main (String [] args)
String [] values = {"A", "C", "C", "B", "A", "C", "B", "B", "A"};
String [] newList = removeDuplicates (values);
您必须添加{}来定义静态main方法的范围:

public static void main (String [] args){
      String[] values = {"A", "C", "C", "B", "A", "C", "B", "B", "A"};
      String[] newList = removeDuplicates (values);
}

这在java中无效:

public static void main (String [] args)
String [] values = {"A", "C", "C", "B", "A", "C", "B", "B", "A"};
String [] newList = removeDuplicates (values);
您必须添加{}来定义静态main方法的范围:

public static void main (String [] args){
      String[] values = {"A", "C", "C", "B", "A", "C", "B", "B", "A"};
      String[] newList = removeDuplicates (values);
}

这就是你需要的全部代码。 你可以在这里阅读收藏

import java.util.*;
类复制
{
静态字符串[]值={“A”、“C”、“C”、“B”、“A”、“C”、“B”、“B”、“A”};
公共静态void main(字符串[]args){
System.out.println(移除的副本(值));
}
静态集合移除的副本(字符串[]原始数组)
{
List arList=newarraylist(Arrays.asList(values));
返回新的LinkedHashSet(arList);
}  
}

这就是您需要的全部代码。 你可以在这里阅读收藏

import java.util.*;
类复制
{
静态字符串[]值={“A”、“C”、“C”、“B”、“A”、“C”、“B”、“B”、“A”};
公共静态void main(字符串[]args){
System.out.println(移除的副本(值));
}
静态集合移除的副本(字符串[]原始数组)
{
List arList=newarraylist(Arrays.asList(values));
返回新的LinkedHashSet(arList);
}  
}
1)您的方法removedupplicates()返回一个字符串。在主块中,需要一个字符串数组

2) 作用域变量newList位于主块内。因此,此变量在RemovedUpplicates方法中不可见

3) “originalArray.length”返回一个“int”,而不是一个字符串。

1)您的方法removedupplicates()返回一个字符串。在主块中,需要一个字符串数组

2) 作用域变量newList位于主块内。因此,此变量在RemovedUpplicates方法中不可见


3) “originalArray.length”返回一个“int”,而不是字符串。

您应该阅读错误消息

 Duplication.java:9: error: incompatible types
 String [] newList = removeDuplicates (values);
此函数返回的
String
不是
String[]

 private static String removeDuplicates (String [] originalArray)
你应该把它声明为

 private static String [] removeDuplicates (String [] originalArray)
您应该在要使用它的函数范围内声明
newList
,这会导致

Duplication.java:14: error: cannot find symbol
for (int i = 0; i < newList.length; i++)

仔细阅读编译错误,它们解决了所有问题。

您应该阅读错误消息

 Duplication.java:9: error: incompatible types
 String [] newList = removeDuplicates (values);
此函数返回的
String
不是
String[]

 private static String removeDuplicates (String [] originalArray)
你应该把它声明为

 private static String [] removeDuplicates (String [] originalArray)
您应该在要使用它的函数范围内声明
newList
,这会导致

Duplication.java:14: error: cannot find symbol
for (int i = 0; i < newList.length; i++)

仔细阅读编译错误,它们解决了所有问题。

请将数组从新重命名为其他名称。.两个问题:(1)在
public static void main
之后,您的
{
在哪里您正在尝试在方法中使用方法吗?因为这是不允许的。1.
new
是保留字,Java中的任何变量都不能使用该名称。2.在另一个方法中定义方法是不正确的。请将数组从new重命名为其他名称。两个问题:(1)w