用1、2、3、3、4、5這六個數字,用java寫一個程式,列印出所有不同的排列 要求:”4″不能在第三位,”3″與”5″不能相連

來源:互聯網
上載者:User

package testWork;</p><p>/**<br /> *<br /> * 用1、2、2、3、4、5這六個數字,用java寫一個程式,列印出所有不同的排列<br /> * 如:512234、412345等,要求:"4"不能在第三位,"3"與"5"不能相連。<br /> *<br /> * @author user<br /> * @version [版本號碼, Jun 29, 2011]<br /> * @see [相關類/方法]<br /> * @since [產品/模組版本]<br /> */<br />public class Test1<br />{<br /> private int[] numbers = new int[] {1, 2, 3, 3, 4, 5};</p><p> public int n;</p><p> private String lastResult = "";</p><p> private boolean validate(String s)<br /> {<br /> if (s.compareTo(lastResult) <= 0) //按字典順序比較兩個字串。<br /> {<br /> return false;<br /> }<br /> if (s.charAt(2) == '4')//"4"不能在第三位<br /> {<br /> return false;<br /> }<br /> if (s.indexOf("35") >= 0 || s.indexOf("53") >= 0)//"3"與"5"不能相連<br /> {<br /> return false;<br /> }<br /> return true;<br /> }<br /> /**<br /> * <一句話功能簡述><br /> * <功能詳細描述><br /> * @param index<br /> * @param result [參數說明]<br /> *<br /> * @return void [傳回型別說明]<br /> * @exception throws [違例類型] [違例說明]<br /> * @see [類、類#方法、類#成員]<br /> */<br /> public void list(String index, String result)<br /> {<br /> for (int i = 0; i < numbers.length; i++)<br /> {<br /> if (index.indexOf(i+48) < 0)<br /> {<br /> String s = result + String.valueOf(numbers[i]);<br /> if (s.length() == numbers.length)<br /> {<br /> if (validate(s))<br /> {<br /> System.out.println(s);<br /> lastResult = s;<br /> n++;<br /> }<br /> break;<br /> }<br /> list(index + String.valueOf(i), s);<br /> }<br /> }<br /> }<br /> /**<br /> * 主程式入口<br /> * <功能詳細描述><br /> * @param args [參數說明]<br /> *<br /> * @return void [傳回型別說明]<br /> * @exception throws [違例類型] [違例說明]<br /> * @see [類、類#方法、類#成員]<br /> */<br /> public static void main(String[] args)<br /> {<br /> Test1 t = new Test1();<br /> t.list("", "");<br /> System.out.println("總數:" + t.n);<br /> }<br />}<br />

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.