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

申码程序 2017-12-11 05:01:55
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.equals(week[i]))
{
s1=true;
break;
}
}
if(s1)
{
System.out.println(s);
}
else
{
System.out.println("输入错误");
}
}
}

问题在代码的注释里。求大神解惑!
...全文
1098 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_34350475 2017-12-12
  • 打赏
  • 举报
回复
你默认的 boolean s1=true 改为 false ,不然就算输入的不是这几个星期中的一个,因为你原本就是true,所以一直会执行原样输出的那条语句
申码程序 2017-12-12
  • 打赏
  • 举报
回复
引用 6 楼 qq_34350475 的回复:
你默认的 boolean s1=true 改为 false ,不然就算输入的不是这几个星期中的一个,因为你原本就是true,所以一直会执行原样输出的那条语句
明白了 明白了
申码程序 2017-12-11
  • 打赏
  • 举报
回复
引用 3楼shunda_zhou 的回复:
没太看懂你想问什么,s.equals(week[i])这句就是比较字符串s和字符串week[i]的内容是否相等啊,
是的,我就是想表达这个意思,我想达到的目的是,根据用户输入,判断它是不是周一至周日其中的一天
申码程序 2017-12-11
  • 打赏
  • 举报
回复
引用 2楼Tian_zhishang 的回复:
s.equals(week[i])方法就是判断你输入的字符串是否与当前索引的week数组元素相等,整个for就是用来判断与星期几相等的
我那么写也是想表达这个意思,但是输出结果是,无论我输入什么,它都原样输出
天之上有什么 2017-12-11
  • 打赏
  • 举报
回复
s.equals(week[i])方法就是判断你输入的字符串是否与当前索引的week数组元素相等,整个for就是用来判断与星期几相等的
Braska 2017-12-11
  • 打赏
  • 举报
回复
条件改成 week[i].equals(s) 也可以不用循环。

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

50,549

社区成员

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

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