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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© ò壞尛孩 中级黑马   /  2014-4-14 19:15  /  2703 人查看  /  18 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 ò壞尛孩 于 2014-4-15 13:13 编辑

要求,从键盘输入一个整数,例如123,如何能将这个整数从高位读取每一个值?import java.util.Scanner;
class Test3
{
        String s=new String("零一二三四五六七八九");
        //BufferedReader buf=new BufferedReader(new InputStreamReader(System.in))
        Scanner sc=new Scanner(System.in);
        int a=sc.nextInt();
        while()
        {。。}
}

我想输入一个整数int  然后从高位读每个值 再用s.charAt(num)返回他的大写汉字!
123我们并不知道他的位数   从低位直接%10再/10就行,可是高位怎么到低位?


例外:想问下 论坛怎么结贴!不结也行吗?

18 个回复

倒序浏览
用冒泡排序可以实现整数排序
  1.                 int[] nums={1,4,3,9,2} ;
  2.                 for (int i = 0; i < nums.length-1; i++) {
  3.                         for (int j = i+1; j < nums.length-1; j++) {
  4.                                 if (nums[i]<nums[j]) {
  5.                                         int d=nums[j];
  6.                                         nums[j]=nums[i];
  7.                                         nums[i]=d;                       
  8.                                 }
  9.                         }
  10.                 }
  11.                 for (int i = 0; i < nums.length; i++) {
  12.                         System.out.println(nums[i]);
  13.                 }
复制代码

评分

参与人数 1技术分 +1 收起 理由
枫儿 + 1 赞一个!

查看全部评分

回复 使用道具 举报
程序爱好者 发表于 2014-4-14 19:33
用冒泡排序可以实现整数排序

你可能没看清问题!我不是要排序!
回复 使用道具 举报
点击你帖子下面的编辑,将帖子旁边的状态调整为提问结束就可以了

QQ截图20140414194636.png (157.23 KB, 下载次数: 332)

QQ截图20140414194636.png
回复 使用道具 举报 1 0
先顶一下,暂时还没答案!
回复 使用道具 举报
你可以做个计数器啊 比如:
int position = 1;
int i = 1;
while(num >= i){
          position++;
          i *=10;

最后position值就是你num的位数。    可能前后会差1

回复 使用道具 举报
暂时没写出代码,楼主可以试试把输入整型数据转换为32位二进制数据(需要区分是转换为原码还是补码),然后与32位二进制全1进行与运算,运算后除符号位外从左往右第一个为1的数据开始即为输入数据的二进制码长度,长度确定就能确定位数。
回复 使用道具 举报
  1. import java.io.*;
  2. import java.util.*;
  3. public class Test4 {
  4. public static void main(String[] args)throws Exception {
  5. chuancan();
  6. }
  7. public static void chuancan()throws Exception
  8. {
  9. System.out.println("请输入一串正整数数字");
  10. BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
  11. String p=br.readLine();
  12. quchu( p);
  13. }
  14. public static void quchu(String p)
  15. {
  16. String []str=new String[]{"零","一","二","三","四","五","六","七","八","九"};
  17. StringBuilder sb=new StringBuilder();
  18. sb.append(p);
  19. for(int i=0;i<sb.length();i++)
  20. {
  21. int t=  Integer.parseInt( sb.substring(i, i+1));
  22. sop(str[t]);
  23. }
  24. }
  25. public static void sop(Object obj)
  26. {
  27. System.out.print(obj);
  28. }
  29. }
复制代码


回复 使用道具 举报 1 0
关键代码,
假如键盘输入的是123

                int num = 123;
               
                int baiwei = num/100;
                int shiwei = num/10%10;
                int gewei  = num%10;
               
                System.out.println("百位:"+baiwei+"十位:"+shiwei+" 个位:"+gewei);
回复 使用道具 举报
程序爱好者 发表于 2014-4-14 19:33
用冒泡排序可以实现整数排序

大神,问一下,你的这种代码格式是用什么工具做出来的,还带方格和背景的
回复 使用道具 举报
package paiXu;

public class PaiXu {

        public static void main(String[] args) {
                zhuanhua(356);
        }
       
       
        public static void zhuanhua(int a){
                char[] m = new char[]{'零','一','二','三','四','五','六','七','八','九'};
                char[] n = (a + "").toCharArray();
                int i;
                for (i = 0; i < n.length; i++) {
                        char c = n[i];
                        int b= Integer.parseInt(String.valueOf(c));
                        System.out.print(m[b]);
                }
               
        }

}
回复 使用道具 举报
邵利民 发表于 2014-4-14 21:34
大神,问一下,你的这种代码格式是用什么工具做出来的,还带方格和背景的 ...

用MyEclipse敲出来的代码  然后按这个按输入框插入表情旁边这个按钮“  <>  ”把代码复制上去
回复 使用道具 举报
邵利民 发表于 2014-4-14 21:34
大神,问一下,你的这种代码格式是用什么工具做出来的,还带方格和背景的 ...

编辑帖子的时候,或者回复的时候,(回复必须是高级模式)在菜单栏右侧有一个“<>”这个符号,表示添加代码,把代码复制进去就可以了,自动会添加行号的。


回复 使用道具 举报
程序爱好者 发表于 2014-4-14 21:58
用MyEclipse敲出来的代码  然后按这个按输入框插入表情旁边这个按钮“    ”把代码复制上去 ...

谢谢,我自己试试,主要是自己做笔记,代码比较乱,想给代码框起来
回复 使用道具 举报
alucard 发表于 2014-4-14 22:04
编辑帖子的时候,或者回复的时候,(回复必须是高级模式)在菜单栏右侧有一个“”这个符号,表示添加代码 ...

谢谢,你是云九的吗,我正在准备云十,希望大神多多指教
回复 使用道具 举报
num为你的数字
String[] numArr = String.valueOf(num).split("");
这样就可以把你的数转换成数组,当然第一位是 numArr[0] = null,你的最高位从 numArr[1] 开始
int length = String.valueOf(num).length();
length 就是你数字的长度
然后你再将数组遍历一下就行了
回复 使用道具 举报
jzxyhjl 发表于 2014-4-15 09:19
num为你的数字
String[] numArr = String.valueOf(num).split("");
这样就可以把你的数转换成数组,当然第 ...

谢谢!要的就是这个!
回复 使用道具 举报
ò壞尛孩 发表于 2014-4-15 13:10
谢谢!要的就是这个!

这两天看String的东西,发现其实可以
char[] ch = String.valueOf(num).toCharArray();
将数字转成字符数组
回复 使用道具 举报
路过 学习学习~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马