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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 黄文伯 于 2013-5-13 21:44 编辑

请编写一个程序,实现从控制台读入字符,接收到’e’或者’E’退出程序。(用两种输入法实现)

10 个回复

倒序浏览

回帖奖励 +10

应该是从键盘读入吧?请楼主确认一下
回复 使用道具 举报

回帖奖励 +10

1.使用Scanner(System.in)  2.String index=in.next();  3.使用switch语句;case e: case E: .退出程序
回复 使用道具 举报

回帖奖励 +10

这个,毕老师在视频中讲的很详细,你还是看视频吧,判断读取的那行字符就行
回复 使用道具 举报
本帖最后由 曾德强 于 2013-5-13 21:11 编辑
  1. package com.IO;
  2. import java.io.*;
  3. public class SystemIO {

  4.         /**
  5.          * @param args
  6.          */
  7.         public static void main(String[] args) {
  8.                 // TODO Auto-generated method stub
  9.                 try{
  10.                 InputStreamReader fis=new InputStreamReader(System.in);
  11.                 BufferedReader re=new BufferedReader(fis);
  12.                 int read=fis.read();
  13.                 while(read!=-1&read!='e'&read!='E'){              
  14.   System.out.print((char)read);
  15.                         read=fis.read();
  16.                 }
  17.                 }
  18.                 catch(IOException e){
  19.                         e.printStackTrace();
  20.                 }
  21.         }
  22. }
复制代码
最简单的一种
另一种就是楼上所说的
  1. package com.IO;

  2. import java.util.Scanner;

  3. public class Scannera {
  4.         public static void main(String[] args) {
  5.                 // TODO Auto-generated method stub
  6.                 readString("请输入字符串:");
  7.                 System.out.println("完成输入!");
  8.         }
  9.         public static void readString(String prompt)
  10.         {
  11.          Scanner scanner = new Scanner(System.in);
  12.      System.out.print(prompt);
  13.      String s=scanner.nextLine();
  14.      while(!s.equals("e")&!s.equals("E")){
  15.              System.out.println(s);
  16.              s=scanner.nextLine();
  17.      }
  18. }
  19. }
复制代码
回复 使用道具 举报
  1. //第一种方式
  2. package com.rosv.io;
  3. import java.io.BufferedReader;
  4. import java.io.IOException;
  5. import java.io.InputStreamReader;
  6. public class IOStream
  7. {
  8.     public static void main(String[] args) throws IOException
  9.     {
  10.         BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
  11.         String strLine = null;
  12.         while ((strLine = br.readLine()) != null)
  13.         {
  14.             if ("e".equalsIgnoreCase(strLine))
  15.             {
  16.                 break;
  17.             }
  18.             System.out.println(strLine);
  19.         }
  20.     }
  21. }
  22. //第二种方式
  23. package com.rosv.io;
  24. import java.util.Scanner;
  25. public class ScannerTest
  26. {
  27.     public static void main(String[] args)
  28.     {
  29.         Scanner sc = new Scanner(System.in);
  30.         String str = null;
  31.         while (sc.hasNextLine())
  32.         {
  33.             str = sc.next();
  34.             if ("e".equalsIgnoreCase(str))
  35.             {
  36.                 break;
  37.             }
  38.             System.out.println(str);
  39.         }
  40.     }
  41. }
复制代码
回复 使用道具 举报
曹睿翔 发表于 2013-5-13 20:51
这个,毕老师在视频中讲的很详细,你还是看视频吧,判断读取的那行字符就行 ...

可能是我还没有看到吧 谢谢了
回复 使用道具 举报
曾德强 发表于 2013-5-13 20:52
最简单的一种
另一种就是楼上所说的

谢谢分享
回复 使用道具 举报
曾德强 发表于 2013-5-13 20:52
最简单的一种
另一种就是楼上所说的

谢谢分享:D
回复 使用道具 举报
long 发表于 2013-5-13 20:23
应该是从键盘读入吧?请楼主确认一下

这是论坛里下载练习册上的题目,题目就是这样写的
回复 使用道具 举报
long 中级黑马 2013-5-13 21:34:48
11#
黄文伯 发表于 2013-5-13 21:05
这是论坛里下载练习册上的题目,题目就是这样写的

可能是老师大意弄错了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马