黑马程序员技术交流社区

标题: 如何从键盘录入中取出自己想要的数字。。。 [打印本页]

作者: 找寻小龙猫    时间: 2014-12-19 02:09
标题: 如何从键盘录入中取出自己想要的数字。。。
本帖最后由 找寻小龙猫 于 2014-12-19 02:11 编辑

当想要键盘录入“1234”中的“1”“2”“3”“4”数字时,我就知道一种
  1. Scanner sc = new Scanner(System.in);
  2. String s = sc.next();
  3. for(int i = 0;i<s.length();i++)
  4. {
  5.        //获取数字
  6.       int  x = s.charAt(i);
  7.       //判断是否是数字0~9
  8.      if(x<58 && x>47)
  9.      //打印数字
  10.       System.out.print(x-48);
  11. }
复制代码

还有更好的方法吗,分享一下,。。。
特纠结取数字的问题了。。。
作者: 我只是一只菜鸟    时间: 2014-12-19 09:14
可以把s转化为char[] 数组
作者: 芭芭拉2    时间: 2014-12-19 09:33
  1. import java.util.Scanner;

  2. class TransDemo
  3. {
  4.         public static void main(String[] args)
  5.         {
  6.                 Scanner sc=new Scanner(System.in);//键盘录入
  7.                 String s=sc.next();//
  8.                 char[] c=s.toCharArray();//将字符串转化字符数组
  9.                 for(int i=0;i<c.length;i++)
  10.                 {
  11.                         if(c[i]>='0'&&c[i]<='9')
  12.                         System.out.print(c[i]+" ");
  13.                         else
  14.                                 System.out.println("输入格式不正确!");
  15.                 }
  16.        

  17.         }
  18. }
复制代码

作者: tw-IT    时间: 2014-12-19 09:45
//先将字符转化为字符串,然后再由字符串转化成数字
import java.util.*;
class  Demo1
{
        public static void main(String[] args)
        {
    Scanner sc = new Scanner(System.in);
    String s = sc.next();
        String str="";//定义一个空字符串,将字符转化为字符串
    for(int i = 0;i<s.length();i++)
    {
           //获取数字
          char c= s.charAt(i);
                  str=str+c;//字符转化为字符串
          //判断是否是数字0~9
          System.out.println(Integer.parseInt(str,10));
                  str="";//将字符的清空,再重新存储新的字符串
    }
        }
}

作者: lgc黑马    时间: 2014-12-19 21:34
用Scanner类就行
作者: 找寻小龙猫    时间: 2014-12-19 22:10
芭芭拉2 发表于 2014-12-19 09:33

好帅,谢谢 分享




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