即使元素存在于数组中,也总是找不到输出[重复]

Posted

技术标签:

【中文标题】即使元素存在于数组中,也总是找不到输出[重复]【英文标题】:Output is always not found even if the element exists in the array [duplicate] 【发布时间】:2022-01-24 02:21:20 【问题描述】:

这是一个简单的 java 程序,它接受用户输入并将其存储在一个字符串数组中,然后检查该数组中是否有一个值,但由于某种原因,即使我输入了一个有效元素,也总是找不到输出存在于数组中

import java.util.Scanner;

class HelloWorld 
    public static void main(String[] args)
        Scanner s1 = new Scanner(System.in);
        Scanner s2 = new Scanner(System.in);
        String[] arr = new String[2];
        String validate_var;
        for(int i =0 ; i<2 ; i++)
        System.out.println("Enter element "+(i+1)+":");
        arr[i]=s1.next();
        
        System.out.println("Enter the value you want to remove: ");
        validate_var = s2.next();
        for(int i =0 ; i<2 ; i++)
            if(validate_var==(String)arr[i].replaceAll("//s",""))
                System.out.println("Found");
                break;
            
            else
                System.out.println("Not found!");
                break;
            
        
        
    

【问题讨论】:

【参考方案1】:

java中的==操作符比较String对象的引用,改用equals

// from 
if(validate_var==(String)arr[i].replaceAll("//s",""))
// to 
if(validate_var.equals((String)arr[i].replaceAll("//s","")))

检查the difference between shallow and deep equality

【讨论】:

.replaceAll("//s","")可疑。 @ElliottFrisch 我们没有输入数据的确切样本,所以我无法确认,我猜他打算使用“\\s”,但我不确定,但它可能也要多疑

以上是关于即使元素存在于数组中,也总是找不到输出[重复]的主要内容,如果未能解决你的问题,请参考以下文章

ld 找不到库,即使它们存在

为啥eclipse找不到文件夹。文件绝对存在于项目中,但在eclipse中显示不出

我安装JAVA sdk程序结束后,路径也修改过了,但是就是不能运行,总是说找不到,请各位大侠指点一二

Arrays.asList(int_array).indexOf(int_element) 即使元素存在java也返回-1 [重复]

JasperException - 即使存在标签也找不到文件

CSS 模块在 Codesandbox 中不起作用 - 即使它们存在也找不到文件