Jan,s
2021-08-24 16:26
采纳率: 95.2%
浏览 83
已结题

Java中怎么让scanner接收中文字符串?

我是一个Java新手,想写一个输入字符核对单词的默写系统
出现了一系列错误,大佬们看看,我哪错了?
下面是我的代码,错误一大堆!

import java.util.*;//导入Scanner扫描仪

public class test{

    public static void main(String[] args){

                System.out.println("是否开始单词默写?y/n");//输出默写请求
                String ma = "主要的";//赋值"主要的"到"ma"
            int a = a.nextInt();//输入字符赋值到a
        if(a==y){//如果恒等于y值
                System.out.println("好的,开始默写!");//输出语句
                System.out.println("Main的中文?");
        }else{//否则提示拒绝信息
        System.out.println("你拒绝了请求!");//输出拒绝提示
        }
                Scanner mains=new Scanner(System.in);//Scanner接收字符串
                String main = mians.nextLine();//将接收的字符创赋值到main
                if(main==ma){//如果main恒等于ma
                    System.out.println("回答正确");
                }else{//否则输出错误
                    System.out.println("回答错误");
        }
    } 
}

img

图片转代码服务由CSDN问答提供 功能建议

管理员:C:Windowssystem32cmd.exe new4-Notepad++[Administrator]
        变量y 文件(F)编辑E)搜索(S)视图V编码(N语言(L)设置T工具O)宏(M)运行R)插件P)窗口(w?
       类test
            错误:找不到符号 est.jaua:15:
                              tring main= nextLine();//将接收的字符创 m1ans new1new2×我的主页.htn1new48
武值到main mportjava.uti1.*;//导人Scanner扫描仪
                                                                              2 变量mians
  位号:
                                                                                  ublicc1asstest
                                                                              3 public static void main(String[]
       类tes System.out.printin(是否开始单词默写?y/n”)://输出默写请求
个错误
                                                                                                 Stringma “主要的“;//赋值“主要的“到“ma”
                                                                                             int D:Jaua>jauac nextInt()://输入字符赋值到
                                                                              7 无法取消引用int 错误: if(a==y)//如果恒等于y值
                                                                                                 System.out.printin(”好的,开始默写!“)://输出语句
                      inta= tInt;//输入字符赋值到a 9 BV8t ntin(“Main的中文?“)
   .jaua:7:错误:找不到符号 1e1se//否则提示拒绝信息 11 System.out.printin(你拒绝了请求!“)://输出拒绝提示
               if(a==! y)/如果恒等于y值
                                                                                                 scamm 变量y anner接收字符手
                                                                              14 String main 类tes 2()://将接收的字符创赋值到mai
                                                                              15 est.jaua=14:错误:找不到符号 in==ma)(//如果main恒等于ma
                                                                              16 System.out.printin(”回答正确”);
                             String nain //将接收的 m1am 符仓 17
武值到main
                                                                                                 e1set//否则输出错误
                                                                                                    System.out.println(“回答错误“);
         变量mians 20
       类test 21
  销误
  Jaua
                                                                            Normaltextfile length:855 lines:21 5:21 Sel:00
  • 好问题 提建议
  • 收藏

4条回答 默认 最新

  • Pliosauroidea 2021-08-24 16:28
    已采纳

    字符串比较用equals函数,不要用逻辑等于判断
    有帮助望采纳

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • 海拥✘ 2021-08-24 16:46
    
    import java.util.*;
    public class Test {
        public static void main(String[] args){
            Scanner in = new Scanner(System.in);
            System.out.println("是否开始单词默写?y/n");
            String ma = "主要的";
            String a = in.nextLine();//输入字符赋值到a
            if ("y".equals(a)) {//如果恒等于y值
                System.out.println("好的,开始默写!");
                System.out.println("Main的中文?");
            } else {//否则提示拒绝信息
                System.out.println("你拒绝了请求!");
                return;
            }
            String main = in.nextLine();
            if (ma.equals(main)) {
                System.out.println("回答正确");
            } else {
                System.out.println("回答错误");
            }
        }
    }
    
    
    评论
    解决 2 无用
    打赏 举报
  • 一枚小爪哇 2021-08-24 16:48

    看了以下你的代码,有的变量没有定义,比如a,改了以下,可以参考一下:
    建议:变量命名尽量规范些,最好使用英文单词或者拼音,见名知意。

    public class Test {
      public static void main(String[] args) {
        // 输出默写请求
        Scanner sn = new Scanner(System.in);
        System.out.println("是否开始单词默写?y/n");
        // 输入字符赋值到a
        String a = sn.next();
    
        // 赋值"主要的"到"ma"
        String ma = "主要的";
        // 如果恒等于y值
        if ("y".equals(a.toLowerCase())) {
          // 输出语句
          System.out.println("好的,开始默写!");
          System.out.println("Main的中文?");
        } else { // 否则提示拒绝信息
          // 输出拒绝提示
          System.out.println("你拒绝了请求!");
          return;
        }
          // Scanner接收字符串
        Scanner mains = new Scanner(System.in);
          // 将接收的字符创赋值到main
        String main = mains.nextLine();
          // 如果main恒等于ma
        if (main.equals(ma)) {
          System.out.println("回答正确");
        } else { // 否则输出错误
          System.out.println("回答错误");
        }
      }
    }
    

    运行结果:
    运行结果1
    img
    运行结果2
    img
    运行结果3
    img

    评论
    解决 1 无用
    打赏 举报
  • zlebhs 2021-08-24 16:32

    建议还是先从基本数据类型、如何定义变量入手吧

        public static void main(String[] args) throws Exception {
            System.out.println("是否开始单词默写?y/n");//输出默写请求
            String ma = "主要的";//赋值"主要的"到"ma"
            Scanner in = new Scanner(System.in);//Scanner接收字符串
            String a = in.nextLine();//输入字符赋值到a
            if ("y".equals(a)) {//如果恒等于y值
                System.out.println("好的,开始默写!");//输出语句
                System.out.println("Main的中文?");
            } else {//否则提示拒绝信息
                System.out.println("你拒绝了请求!");//输出拒绝提示
                return;
            }
            String main = in.nextLine();//将接收的字符创赋值到main
            if (ma.equals(main)) {//如果main恒等于ma
                System.out.println("回答正确");
            } else {//否则输出错误
                System.out.println("回答错误");
            }
        }
    
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题