转义字符-java,scanner输入的字符串,如输入yes判断却不等于yes

问题描述

java,scanner输入的字符串,如输入yes判断却不等于yes

贴一贴

 package test;
import java.util.Scanner;

public class Test {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
         Scanner scan=new Scanner(System.in);
         System.out.println("input now");
         String str=scan.next();
         if(str != "yes")
             System.out.println(str);
    }

}

我输入就是输入yes的,下面的if判断就是不相等,应该是scan.next()的返回值中带了什么转义字符吧,这个问题怎么解决?有什么方法能查看到其中的转义字符呢?

解决方案

String是个类,用==或!=比较是比较的内存地址,应该使用equals方法进行比较

解决方案二:

 if(!str.equals("yes"))

解决方案三:

前面人回答的不错。equals才是比较内容是否相同

解决方案四:

java中Scanner输入字符串和BufferedReader输入字符串的区别

时间: 2024-09-30 20:52:00

转义字符-java,scanner输入的字符串,如输入yes判断却不等于yes的相关文章

java Scanner输入问题

问题描述 java Scanner输入问题 我想一下子输入都个数:不想这么写,有没有简单点的方法 Scanner in = new Scanner(System.in); int a = in.nextInt(); Scanner in1 = new Scanner(System.in); int b = in.nextInt(); Scanner in2 = new Scanner(System.in); int c = in.nextInt(); 解决方案 Scanner in = new

java.util.Scanner应用详解(获取输入)

java.util.Scanner获取输入的整数,长整型,字符串等:  代码如下 复制代码 /package com.color.program.ball;   import java.util.Scanner;   public class ScannerTest {    public static void main(String[] args) {   Scanner s = new Scanner(System.in);   //receive string   String str

java类的问题-从键盘输入一个字符串再输出的时候结果不同?

问题描述 从键盘输入一个字符串再输出的时候结果不同? String a=input.next(); a.equals("对不起"); 当从键盘获取"对不起"时获得的结果是false

scanner-java中如果键盘输入一个字符串,这个字符串为一个空格……

问题描述 java中如果键盘输入一个字符串,这个字符串为一个空格-- java中如果键盘输入一个字符串,这个字符串为一个空格,则用toCharArray()方法,将其转换为一个字符数组,这个数组里面是什么内容?import java.util.Scanner;public class Main { public static void main(String[] args){ System.out.println(""请输入一串字符:""); Scanner in=

JAVA基础培训(9),控制台键盘输入(System.in)

从键盘输入是一个很重要的功能,这里给出了个人推荐的方式,用Scanner读取输入数 据 package lession9; import java.io.InputStream; import java.util.Scanner; /** * 老紫竹JAVA基础培训(9),控制台键盘输入(System.in). * * @author 老紫竹 JAVA世纪网(java2000.net) * */ public class Lession9 { public static void main(St

stringbuffer-从键盘输入一个字符串和一个字符,从字符串中删除全部该字符(如果是字母,大小写都删除)

问题描述 从键盘输入一个字符串和一个字符,从字符串中删除全部该字符(如果是字母,大小写都删除) package lab; /** * @author Administrator */ import java.util.Scanner; public class Lab { /** * @param args the command line arguments */ public static void main(String[] args) { // TODO code application

arraylist-求大神帮看下代码,怎么做才能接收自己输入的字符串进行判断呢?

问题描述 求大神帮看下代码,怎么做才能接收自己输入的字符串进行判断呢? public static void main(String[] args) { Scanner s = new Scanner(System.in); System.out.println("请输入你要查询出现单词或字母次数句子"); ArrayList<Object> arrayList = new ArrayList<Object>(); String f = s.nextLine()

java制作计算器的时候同时输入两个运算符出错

问题描述 java制作计算器的时候同时输入两个运算符出错 按照慕课网一步一步做的,但是做完之后存在一个问题,就是如果已经输入了一个运算符号,继续输入一个运算符号,后输入的那一个并不会将原来的那个符号覆盖,所以就会运算出错.请问有什么方法解决?(我尝试通过if判断是否已经输入了运算符,如果已经输入,就把原来的截去之后再写入新的运算符,但是没有效果) package com.example.calculator; import android.app.Activity; import android

c c++-写一个函数判断输入的字符串是否是一个点分十进制格式的IP地址

问题描述 写一个函数判断输入的字符串是否是一个点分十进制格式的IP地址 写一个函数判断输入的字符串是否是一个点分十进制格式的IP地址 解决方案 #include ""winsock2.h""#pragma comment(libws2_32.lib"")BOOL CheckIsValidIP(const char* sIP){ unsigned long ulAddress = inet_addr(sIP); if (INADDR_NONE ==