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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 徐启坤 中级黑马   /  2013-5-10 13:13  /  5143 人查看  /  12 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 徐启坤 于 2013-5-10 16:34 编辑

在Java中有没有类似像C语言中while(scanf("%d",&a)!=EOF)这样的用法,就是可以连续输入??

评分

参与人数 1技术分 +1 收起 理由
殇_心。 + 1

查看全部评分

12 个回复

倒序浏览
尹桥印 发表于 2013-5-10 13:14
你java中也可以写那样的一上循环呐,把循环套在外面,要读取用户输入语句放在循环里面也应该行吧?个人观点 ...
  1. public class test {
  2.         public static void main(String[] args) {
  3.                 int a;
  4.                 Scanner in=new Scanner(System.in);
  5.                 while(a=in.nextInt()){
  6.                         System.out.println(a);
  7.                 }

  8.         }

  9. }
复制代码
你是说这样吗?我试了一下编译会报错!!
回复 使用道具 举报
其实c我是一点也看不懂的,在java重要连续输入的话,可以这样:
while(true){
                        Scanner sc=new Scanner(System.in);
                        String  str=sc.next();
                        System.out.println(str);
                        }
写在一个类里:
public class A {
        public static void main(String[] args) {
                while(true){
                        Scanner sc=new Scanner(System.in);
                        String  str=sc.next();
                        System.out.println(str);
                        }
        }       
}

评分

参与人数 1技术分 +1 收起 理由
殇_心。 + 1

查看全部评分

回复 使用道具 举报
白磊 发表于 2013-5-10 13:27
其实c我是一点也看不懂的,在java重要连续输入的话,可以这样:
while(true){
                        Scanner sc=new Scanner(S ...

这样如果不手动结束循环的话,就不能再在while循环后面写代码了,否则会报错
回复 使用道具 举报
有的。
举例如下:
Scanner in = new Scanner(System.in);
while( in.hasNext() )
{
      执行代码;         
}
回复 使用道具 举报
徐启坤 发表于 2013-5-10 13:41
这样如果不手动结束循环的话,就不能再在while循环后面写代码了,否则会报错 ...

那你可以这样写,这样就可以继续后面的操作了
public class A {
        public static void main(String[] args) {
                while (true) {
                        Scanner sc = new Scanner(System.in);
                        String str = sc.next();
                        System.out.println(str);
                        if (str.equals("886")) {
                                break;
                        }
                }
                System.out.println("fad");
        }
}
回复 使用道具 举报
尹桥印 发表于 2013-5-10 13:57
这个无限循环下去了?只能在循环里面加判断了?还是怎么的一个情况

没有。这样的话,编译器是可以帮你结束的。
当读到没有数据的时候,while语句就结束了。
回复 使用道具 举报
白磊 中级黑马 2013-5-10 14:16:47
8#
尹桥印 发表于 2013-5-10 13:59
这句Scanner sc = new Scanner(System.in);放在循环里面?

好吧   这个是应该放在外面:L
回复 使用道具 举报
尹桥印 发表于 2013-5-10 13:57
这个无限循环下去了?只能在循环里面加判断了?还是怎么的一个情况

我试了,可以用Ctrl+z结束输入
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马