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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 土豪金 中级黑马   /  2017-3-31 00:00  /  3046 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 土豪金 于 2017-3-31 00:52 编辑

[Java] 纯文本查看 复制代码
package homework;

/*1.按照从大到小的顺序输出四位数中的个位+百位=十位+千位(3553,2332,1166,8228,3773)的数字及个数
 2.每行输出5个满足条件的数,之间用空格分隔
 3.如:9999 9988 9977 9966 9955 	*/
public class Answer07 {
	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		int count = 0;
		for (int x = 9999; x >= 1000; x--) {
			int g = x % 10;
			int s = x / 10 % 10;
			int b = x / 100 % 10;
			int q = x / 1000;
			if (g + b == s + q) {
				System.out.print(x + " ");
				count++;
				// 每行输出5个满足条件的数就换行
				if (count % 5 == 0) {
					System.out.println();
				}
			}
		}
		// 当满足条件的数最后一行未排满时换行
		if (count % 5 != 0) {
			System.out.println();
		}
		System.out.println("个数:" + count);
	}
}

8 个回复

倒序浏览
Count%5==0就换行是不是可以更简便?
来自宇宙超级黑马专属安卓客户端来自宇宙超级黑马专属安卓客户端
回复 使用道具 举报
fei19890221 发表于 2017-3-31 00:10
Count%5==0就换行是不是可以更简便?

是哒
来自宇宙超级黑马专属安卓客户端来自宇宙超级黑马专属安卓客户端
回复 使用道具 举报
感觉这代码好复杂!每个人的思维方式不同,用一个循环就行了吧!
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
土豪金 发表于 2017-3-31 00:15
是哒

貌似可以少写个for循环
来自宇宙超级黑马专属安卓客户端来自宇宙超级黑马专属安卓客户端
回复 使用道具 举报
泪桥 发表于 2017-3-31 00:17
感觉这代码好复杂!每个人的思维方式不同,用一个循环就行了吧!

用count 换行一层循环就够了
来自宇宙超级黑马专属安卓客户端来自宇宙超级黑马专属安卓客户端
回复 使用道具 举报
泪桥 高级黑马 2017-3-31 00:23:20
7#
土豪金 发表于 2017-3-31 00:20
用count 换行一层循环就够了

嗯嗯!正看你的珠穆朗玛峰那个作业,感觉也挺复杂的,其实用while循环比较好,因为不知道次数,比我好吧!我当时想了半天也没做好
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
泪桥 发表于 2017-3-31 00:23
嗯嗯!正看你的珠穆朗玛峰那个作业,感觉也挺复杂的,其实用while循环比较好,因为不知道次数,比我好吧 ...

while的确看起来清晰明了
回复 使用道具 举报
fei19890221 发表于 2017-3-31 00:18
貌似可以少写个for循环

如你所愿
来自宇宙超级黑马专属安卓客户端来自宇宙超级黑马专属安卓客户端
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马