A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张金 中级黑马   /  2012-10-5 21:07  /  2160 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 张金 于 2012-10-6 23:50 编辑

import java.util.*;
class Seven
{
        public static void main(String[] args)
        {
                Scanner Sc=new Scanner(System.in);
                System.out.println("请输入一个运算符号");
                char n=Sc.nextChar();
                int a = 34;
                int b = 17;
                switch (n)
                {
                case '*':System.out.println(a*b);break;
                case '/':System.out.println(a/b);break;
                case '+':System.out.println(a+b);break;
                case '-':System.out.println(a-b);break;
                default: System.out.println("请输入一个四则运算符");
               
               
                }


                System.out.println("谢谢使用本程序");
        }
}
关于这个小程序,为什么编译不过,提示找不到符号,难道是键盘不能输入字符串,还是哪里出错了?

评分

参与人数 1技术分 +1 收起 理由
唐志兵 + 1 赞一个!

查看全部评分

4 个回复

正序浏览
路过的              
回复 使用道具 举报
  1. package cn.itcast.heima.technology;

  2. import java.util.Scanner;

  3. public class ForScanner {

  4.         /**
  5.          * @param args
  6.          */
  7.          public static void main(String[] args)
  8.      {
  9.              Scanner Sc=new Scanner(System.in);
  10.              System.out.println("请输入一个运算符号");
  11.              /*char n=Sc.nextChar();*///修改一下吧,改成nextLine()
  12.              //键盘输入字符串当然是没问题的,流也可以。
  13.              String n=Sc.nextLine();
  14.              int a = 34;
  15.              int b = 17;
  16.              switch (n)
  17.              {
  18.              //判断字符串是swith()1.7的新特性,程序没问题了。
  19.              case "*":System.out.println(a*b);break;
  20.              case "/":System.out.println(a/b);break;
  21.                             
  22.              case "+":System.out.println(a+b);break;
  23.              case "-":System.out.println(a-b);break;
  24.              default: System.out.println("请输入一个四则运算符");
  25.             
  26.             
  27.              }


  28.              System.out.println("谢谢使用本程序");
  29.      }
复制代码

评分

参与人数 1技术分 +1 收起 理由
唐志兵 + 1 赞一个!

查看全部评分

回复 使用道具 举报
这一点不奇怪  Scanner 根本就没有 nextChar()这个方法
对于你这个程序有两个解决方法
1:可以输入符号的Asc码,再将该整形数转化为字符型
如:        Scanner scanner = new Scanner(System.in);
                int i = scanner.nextInt();
                System.out.println( (char)i );
2:可以输入一个字符串型,然后将它转化为字符型

评分

参与人数 1技术分 +1 收起 理由
唐志兵 + 1 赞一个!

查看全部评分

回复 使用道具 举报
Scanner好像没有nextChar()方法,查一下API.
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马