黑马程序员技术交流社区

标题: 键盘输入可以输入字符串吗 [打印本页]

作者: 张金    时间: 2012-10-5 21:07
标题: 键盘输入可以输入字符串吗
本帖最后由 张金 于 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("谢谢使用本程序");
        }
}
关于这个小程序,为什么编译不过,提示找不到符号,难道是键盘不能输入字符串,还是哪里出错了?
作者: 陈琦    时间: 2012-10-5 21:26
Scanner好像没有nextChar()方法,查一下API.
作者: cehkongfu    时间: 2012-10-6 08:22
这一点不奇怪  Scanner 根本就没有 nextChar()这个方法
对于你这个程序有两个解决方法
1:可以输入符号的Asc码,再将该整形数转化为字符型
如:        Scanner scanner = new Scanner(System.in);
                int i = scanner.nextInt();
                System.out.println( (char)i );
2:可以输入一个字符串型,然后将它转化为字符型
作者: 佘天宇    时间: 2012-10-6 09:42
  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.      }
复制代码

作者: 杨华东    时间: 2012-10-6 09:45
路过的              




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2