我想编写一个java程序,使用字符串数组查找重复的字符串

我想编写一个java程序,使用字符串数组查找重复的字符串,java,Java,下面是我的java代码: import java.util.Scanner; 公共类重复字符串 { 公共静态void main(字符串[]args) { int n=0; 扫描仪a=新的扫描仪(System.in); System.out.println(“输入n的值:”); n=a.nextInt(); 字符串s[]=新字符串[n]; 对于(int i=0;i,在填充数组后,将所需内容更改为: ArrayList<String> strings = new ArrayList();

下面是我的java代码:

import java.util.Scanner;
公共类重复字符串
{
公共静态void main(字符串[]args)
{
int n=0;
扫描仪a=新的扫描仪(System.in);
System.out.println(“输入n的值:”);
n=a.nextInt();
字符串s[]=新字符串[n];

对于(int i=0;i,在填充数组后,将所需内容更改为:

ArrayList<String> strings = new ArrayList();
for(String str : s){
    if(strings.contains(str){
        System.out.println(str);
    } else {
        strings.add(str);
        System.out.println("not");
    }
}
ArrayList strings=new ArrayList();
用于(字符串str:s){
if(strings.contains(str){
系统输出打印项次(str);
}否则{
strings.add(str);
系统输出打印项次(“非”);
}
}
这将检查数组中任何位置的重复字符串,而不仅仅是一行中的两个相同字符串。
如果需要使用数组而无法使用ArrayList,请尝试以下方法:

for(int i = 0; i < s.length; i++){
    for(int j = i + 1; j < s.length; j++){
        if(s[i].equals(s[j]){
            System.out.println(s[i]);
        } else {
            System.out.println("not");
        }
    }
}
for(int i=0;i
您能再解释一下吗?并添加预期的输出吗?