黑马程序员技术交流社区

标题: Java的输入问题 [打印本页]

作者: 王宝龙    时间: 2012-9-6 12:41
标题: Java的输入问题
本帖最后由 王宝龙 于 2012-9-9 23:28 编辑

1、这个程序我必须输入时每个数字之间必须有空格才行,
    我要输入:1 2 3 4(注意我这里每个数字之间都有个空格)
    得出来的数组a的内容才为{1,2,3,4}
假如我连续的输入1234(里面没有空格的)
我要程序每次只读取一个数字的得出的数组为:{1,2,3,4}
我应该怎么做?
  1. import java.util.*;
  2. class InputDemo
  3. {
  4.         public static void main(String [] arge)
  5.         {
  6.                 int[][] a = new int[2][2];
  7.                 int i;
  8.                 int j;
  9.                 Scanner in = new Scanner(System.in);
  10.                 for(i=0;i<2;i++)
  11.                         for(j=0;j<2;j++)
  12.                         {
  13.                                 a[i][j] = in.nextInt();
  14.                         }
  15.                 for(i=0;i<2;i++)
  16.                         for(j=0;j<2;j++)
  17.                         {
  18.                                 System.out.println(a[i][j]);
  19.                         }

  20.         }
  21. }
复制代码

作者: 孙岳    时间: 2012-9-6 12:43
试试char[][];
作者: 武庆东    时间: 2012-9-6 12:56
本帖最后由 武庆东 于 2012-9-6 13:04 编辑

import java.util.*;
class InputDemo
{
        public static void main(String [] arge)
        {
                int[][] a = new int[2][2];
                int i;
                int j;
                Scanner in = new Scanner(System.in);
               /* for(i=0;i<2;i++)
                        for(j=0;j<2;j++)
                        {
                                a[j] = in.nextInt();
                        }
                for(i=0;i<2;i++)
                        for(j=0;j<2;j++)
                        {
                                System.out.println(a[j]);
                        }

             */
//k可改为如下代码:
String s=in.next();
char[] c=s.toCharArray();
for(int i=0;i<c.length;i++)
  {
   System.out.println(c);
}


        }
}

作者: 周兴华    时间: 2012-9-6 13:21
楼主用我这个吧,
import java.io.*;
import java.util.*;

public class SystemInDemo {
        public static void main(String[] args) throws IOException{
                BufferedReader bufr = new BufferedReader(new InputStreamReader(System.in));
                String line = null;
                while((line=bufr.readLine()) != null){
                        if("over".equals(line))
                                break;
                        char[] ch = line.toCharArray();
                        Character[] ch1 = new Character[ch.length];
                        for(int i=0;i<ch.length;i++){
                                ch1[i]=Character.valueOf(ch[i]);
                        }
                        List<Character> list = Arrays.asList(ch1);
                        System.out.println(list);
                }
                bufr.close();
        }
}
作者: 张 涛    时间: 2012-9-6 18:12

//scanner是一个可以使用正则表达式来解析基本类型和字符串的简单文本扫描器。      
// 使用分隔符模式将其输入分解为标记,默认情况下该分隔符模式与空白匹配。
//所以你在输入数字时,必须要加上空格。
//要修改分割符的话,就要修改pattern,比较麻烦,这里完全可以用更简单的方式实现。
  1. import java.io.BufferedReader;
  2. import java.io.IOException;
  3. import java.io.InputStreamReader;
  4. class InputDemo
  5. {
  6.         public static void main(String [] arge) throws IOException
  7.         {//用流来接受输入的字符串。
  8.                 BufferedReader br = new BufferedReader(
  9.                                 new InputStreamReader(System.in));
  10. //读一行字符串到str,并转换为char数组
  11.                 String str = br.readLine();
  12.                 char[] arr = str.toCharArray();
  13.                 //打印即可。
  14.                 System.out.print("{");
  15.                 for(int i=0;i<arr.length;i++)
  16.                        System.out.print(arr[i]+",");
  17.                 System.out.println("}");
  18.         }      
  19. }
复制代码
结果:输入1234,输出:{1,2,3,4,}
作者: 王宝龙    时间: 2012-9-7 21:42
问题已解决 !




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