Java 字符串和字符串数组如何进行比较

申码程序 2017-12-11 04:59:47
package main;

import java.util.Scanner;

public class Main {

public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in = new Scanner(System.in);
String[] week= {"Monday","Tuesday","Wednesday",
"Thursday","Friday","Saturday","Sunday"};//星期数组
System.out.println("请输入星期:");
String s=in.nextLine();//用户输入的星期;
boolean s1=true;
for (int i=0;i<week.length;i++)
{
/*本人小菜鸟,对字符串的用法不太懂
* 重点是下边if语句怎么让字符串和字符串数组里的元素进行比较
* 还请各位大神指点迷津!
*/
if (s==(week[i]))
{
s1=true;
break;
}
}
if(s1)
{
System.out.println(s);
}
else
{
System.out.println("输入错误");
}
}
}

问题在代码的注释里。求大神解惑!
...全文
361 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
import java.util.Arrays;
import java.util.List;
import java.util.Scanner;

public class Demo {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String[] week= {"Monday","Tuesday","Wednesday",
                "Thursday","Friday","Saturday","Sunday"};//星期数组
        List<String> weekList = Arrays.asList(week);
        System.out.println("请输入星期:");
        String s=in.nextLine();//用户输入的星期;
        if(weekList.contains(s)){
            System.out.println(s);
        }
        else {
            System.out.println("输入错误");
        }
    }
}
hardwork520 2017-12-12
  • 打赏
  • 举报
回复
字符串得用.equals()方法,==比较的是地址值,.equals()方法比较的是字符串内容!
Royal_lr 2017-12-12
  • 打赏
  • 举报
回复
就楼上说的,s.equals(week[i]),不就好了吗
Braska 2017-12-11
  • 打赏
  • 举报
回复
条件改成 week[i].equals(s) 也可以不用循环。

        System.out.println(Arrays.asList(week).contains(s));

50,530

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧