亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

java第十一題

java第十一題

狼顧之相1995 2016-09-19 09:04:57
題目:有1、2、3、4個數字,能組成多少個互不相同且無重復數字的三位數?都是多少?程序分析:可填在百位、十位、個位的數字都是1、2、3、4。組成所有的排列后再去 掉不滿足條件的排列。
查看完整描述

1 回答

已采納
?
阿旭_

TA貢獻217條經驗 獲得超353個贊

import?java.util.ArrayList;
import?java.util.HashSet;
import?java.util.List;
import?java.util.Set;

public?class?Test33?{
	public?static?void?main(String[]?args)?{
		/*?1、遍歷所有可能性,利用進制窮舉法,算上重復的有4的3次冪個?*/
		aa:?for?(int?i?=?0;?i?<?Math.pow(4,?3);?i++)?{//
			/*?2、將遍歷的每一個十進制值,轉換成相應的3位4進制數?*/
			String?str?=?"00"?+?Integer.toString(i,?4);//?去掉重復的
			str?=?str.substring(str.length()?-?3);
			/*?3、利用Set集合內部去重,若發現已添加過則去掉,這個數,重新回到下一個i分析?*/
			Set<String>?mSet?=?new?HashSet<String>();
			for?(int?j?=?0;?j?<?str.length();?j++)?{
				if?(!mSet.add(str.charAt(j)?+?""))?{
					continue?aa;//?已存在,遍歷下一個數字
				}
			}
			/*?4、?打印這個可能性?*/
			for?(int?j?=?0;?j?<?str.length();?j++)?{
				System.out.print((char)?(str.charAt(j)?+?1)?+?(j?==?str.length()?-?1???"\n"?:?"?"));
			}
		}
	}
}

http://img1.sycdn.imooc.com//57df4429000153c104020587.jpg

查看完整回答
2 反對 回復 2016-09-19
  • 1 回答
  • 1 關注
  • 1208 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號