代碼採用值選項選擇2個將要通過生成這些兼容的字符串到正則表達式來填充,有2個正則表達式。嘗試在JAVA中生成與順序中的正則表達式匹配的字符串(從0到N大小的字符串和從1到255個ASCII字符)
那些正則表達式將在稍後進行比較。 「ascii」變量是一個包含ASCCI代碼中每個單個字符的字符串。
現在代碼似乎並沒有結束,當我開始時,我真的不知道我的錯誤究竟在哪裏。
static public void ASCIIString(int option){
String res="";
int n=0;
cicleG: while(true){
n++;
int x=n-1;
int []aux = new int [n];
for(int i=0;i<n;i++){
aux[i]=0;
}
cicle: while(aux[0]<ascii.length()){
for(int i=0;i<n;i++){
res+=(ascii.charAt(aux[i])+"");
}
aux[x]++;
while(aux[x]==ascii.length() && x>0){
aux[x]=0;
aux[--x]++;
}
x=n-1;
for (int i = 0; i < Lista1.size(); i++) {
if(option==1)
if(res.equals(Lista1.get(i))){
continue cicle;
}
else
if(res.equals(Lista2.get(i))){
continue cicle;
}
}
if(option==1)
if(res.matches(expression1)){
Lista1.add(res);
break cicleG;
}
else
if(res.matches(expression2)){
Lista2.add(res);
break cicleG;
}
}
}
}
而對於inicialization的代碼是這一個:
static ArrayList<String> Lista1,Lista2;
static String ascii="";
static String expression1="",expression2="";
for (int i = 1; i <= 255; i++) {
ascii+=(char)i;
}
Lista1= new ArrayList();
Lista2= new ArrayList();
expression1=lenguaje1.getText();
expression2=lenguaje2.getText();
那麼到目前爲止您採取了哪些診斷步驟?你有沒有在調試器中檢查你的代碼?順便說一下,我強烈建議將此分解爲單獨的方法,而不是使用帶標籤的繼續語句。例如,你沒有給我們一個[mcve] - 你永遠不會聲明'ascii'。 –
像Cicle一直往前走(我正在發送一個字符串在控制檯中顯示)。但我試圖清理它,如果它無法正常工作,我會重新發布它。 –
這並沒有回答你是否試圖在調試器中逐步執行代碼... –