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

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

怎么理解下面這段代碼??求教大神??!

怎么理解下面這段代碼??求教大神?。?/h1>
望遠 2016-09-09 06:51:38
package com.gnnu2016;import java.util.ArrayList;import java.util.Arrays;import java.util.Scanner;public class randomAssortment { /** * 定義一個保存所有隨機組合情況的動態數組 */ public static ArrayList<String>list=new ArrayList<String>(); public static void main(String[] args) { long num = -1; Scanner input=new Scanner(System.in); do{ System.out.println("請輸入一個正整數:"); try{ num=input.nextInt(); }catch(Exception e){ input.nextLine(); System.out.println("輸入錯誤,請重新輸入!!"); } }while(num<0); String string=Long.toString(num); String[]strings=string.split(""); //調用函數,實現對list的填充所有的排列組合情況 getRandom(strings,0,strings.length-1); //打印輸出所有情況 System.out.println("一共有"+list.size()+"種不同的排列,分別是:"); for(int i=0;i<list.size();i++){ System.out.print(list.get(i)+" ?"); if((i+1)%10==0){ System.out.println(); } } System.out.println(); } public static void getRandom(String[]strings,int start,int end){ StringBuffer sBuffer=new StringBuffer(); String string=null; /* * 一種排列情況已經出來了 */ if(start==end){ for(int i=0;i<=end;i++){ sBuffer.append(strings[i]); } string=sBuffer.toString(); //判斷該組合情況是否已經存在,如果不存在就添加該情況 if(!list.contains(string)){ list.add(string); } }else{ for(int i=start;i<=end;i++){ String temp=strings[start];//主要是else里面這段代碼怎么理解?? strings[start]=strings[i]; strings[i]=temp; //遞歸調用 getRandom(strings, start+1, end); temp=strings[start]; strings[start]=strings[i]; strings[i]=temp; } } }}
查看完整描述

3 回答

已采納
?
ziom

TA貢獻948條經驗 獲得超1109個贊

注釋已經寫得很全了,還要怎么說明

查看完整回答
2 反對 回復 2016-09-09
  • 望遠
    望遠
    注釋還是我自己寫的,就是感覺似懂非懂。。
  • ziom
    ziom
    那等我有時間了幫你重寫一遍注釋把。
  • 望遠
    望遠
    我已經懂了,非常感謝
點擊展開后面3
?
weenhall

TA貢獻121條經驗 獲得超57個贊

我只能說趕緊轉行把,你真不適合

查看完整回答
1 反對 回復 2016-09-09
  • 望遠
    望遠
    嗯嗯,但是我想試試!
  • weenhall
    weenhall
    建議你先看原理性的東西,先把基本的搞懂了,再聯系實踐
  • 望遠
    望遠
    嗯嗯,謝謝指點
?
承_風

TA貢獻2條經驗 獲得超3個贊

挺清楚的了

查看完整回答
反對 回復 2016-09-28
  • 3 回答
  • 0 關注
  • 1708 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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