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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 找寻小龙猫 于 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. }
复制代码

还有更好的方法吗,分享一下,。。。
特纠结取数字的问题了。。。

5 个回复

倒序浏览
可以把s转化为char[] 数组
回复 使用道具 举报
  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. }
复制代码
回复 使用道具 举报
//先将字符转化为字符串,然后再由字符串转化成数字
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="";//将字符的清空,再重新存储新的字符串
    }
        }
}
回复 使用道具 举报
用Scanner类就行
回复 使用道具 举报

好帅,谢谢 分享
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马