新手求教 随机输入一个int数,取其中的第二 第三位数

sgjiyn15956 2013-09-12 09:42:55
如题
例如 int a = 123456789(随机输入的数)

怎么取3 4这两个数


...全文
185 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
小绵羊 2013-09-12
  • 打赏
  • 举报
回复
引用 6 楼 sgjiyn15956 的回复:
[quote=引用 5 楼 x19881216 的回复:]


int num = 10111;

		while (num > 0) {

			// 第三位
			if (num < 1000 && num >= 100) {
				System.out.println(num % 10);
			}

			// 第二位
			if (num < 100 && num >= 10) {
				System.out.println(num % 10);
			}

			num /= 10;
		}
你这个方法是只是这个数是几位数,如果我输入的位数不确定,不知道还行不行呢?[/quote] 。。。我这个方法哪里是这个数是几位数了,当然我这个代码是可以求出是几位数,取第几位数就是把这个数除到相应的范围内然后取余数就是了。。。你要第N位都可以
sgjiyn15956 2013-09-12
  • 打赏
  • 举报
回复
引用 7 楼 x19881216 的回复:
[quote=引用 6 楼 sgjiyn15956 的回复:] [quote=引用 5 楼 x19881216 的回复:]


int num = 10111;

		while (num > 0) {

			// 第三位
			if (num < 1000 && num >= 100) {
				System.out.println(num % 10);
			}

			// 第二位
			if (num < 100 && num >= 10) {
				System.out.println(num % 10);
			}

			num /= 10;
		}
你这个方法是只是这个数是几位数,如果我输入的位数不确定,不知道还行不行呢?[/quote] 。。。你只是要第二位和第三位啊,这就是了[/quote] 理解了 3q
小绵羊 2013-09-12
  • 打赏
  • 举报
回复
引用 6 楼 sgjiyn15956 的回复:
[quote=引用 5 楼 x19881216 的回复:]


int num = 10111;

		while (num > 0) {

			// 第三位
			if (num < 1000 && num >= 100) {
				System.out.println(num % 10);
			}

			// 第二位
			if (num < 100 && num >= 10) {
				System.out.println(num % 10);
			}

			num /= 10;
		}
你这个方法是只是这个数是几位数,如果我输入的位数不确定,不知道还行不行呢?[/quote] 。。。你只是要第二位和第三位啊,这就是了
sgjiyn15956 2013-09-12
  • 打赏
  • 举报
回复
引用 5 楼 x19881216 的回复:


int num = 10111;

		while (num > 0) {

			// 第三位
			if (num < 1000 && num >= 100) {
				System.out.println(num % 10);
			}

			// 第二位
			if (num < 100 && num >= 10) {
				System.out.println(num % 10);
			}

			num /= 10;
		}
你这个方法是只是这个数是几位数,如果我输入的位数不确定,不知道还行不行呢?
小绵羊 2013-09-12
  • 打赏
  • 举报
回复


int num = 10111;

		while (num > 0) {

			// 第三位
			if (num < 1000 && num >= 100) {
				System.out.println(num % 10);
			}

			// 第二位
			if (num < 100 && num >= 10) {
				System.out.println(num % 10);
			}

			num /= 10;
		}
小绵羊 2013-09-12
  • 打赏
  • 举报
回复
引用 3 楼 sgjiyn15956 的回复:
能不能不转成string呢? 有没有最优的算法
除法 求模
sgjiyn15956 2013-09-12
  • 打赏
  • 举报
回复
能不能不转成string呢? 有没有最优的算法
  • 打赏
  • 举报
回复
引用 1 楼 crazypandariy 的回复:
String s = String.valueOf(123456789);
		char[] cArr = s.toCharArray();
		if(cArr.length==2){
			int second = Integer.valueOf(cArr[1]);
		}else if(cArr.length>2){
			int second = Integer.valueOf(cArr[1]);
			int third = Integer.valueOf(cArr[2]);
		}
+1,先转化为字符串,再分出来就行了。。。
疯狂熊猫人 2013-09-12
  • 打赏
  • 举报
回复
String s = String.valueOf(123456789);
		char[] cArr = s.toCharArray();
		if(cArr.length==2){
			int second = Integer.valueOf(cArr[1]);
		}else if(cArr.length>2){
			int second = Integer.valueOf(cArr[1]);
			int third = Integer.valueOf(cArr[2]);
		}

51,410

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧