你好,這是我的第一條消息溢出(對不起,如果問題太長),我也是初級在Java和英語。無限循環在哪裏?
我最近讀了一個思維遊戲。問題是這樣的: 有四個女人,他們的名字是:kirmizi - yesil -sari -mavi (這些是土耳其的顏色名稱)每個女人都穿着這種顏色的裙子。例如;
馬維女人穿紗麗裙
但有兩條規則:
婦女的裙子顏色都不應該不是同他們的名字
也是他們的名字和裙子的長度不能是等於。例如,馬維女人不能穿莎麗裙子。但她可以穿kirmizi和yesil。
你能找到每個女人的裙子顏色嗎?
而且我試圖解決它,但它進入無限循環
顏色爲RENK 名= ISIM在土耳其:)
編輯:我剛剛發現了新的線索。 kirmizi小姐和紗麗不能穿mavi和yesil裙子。他們的裙子也是不同的顏色。我可以寫出答案,如果你想,但我相信這是對像我這樣的初學者:)
package ana;
class Ana {
static boolean birtobir=false;
static boolean ikitoiki=false;
static boolean uctouc=false;
static boolean dorttodort=false;
String renk;
String isim;
public static void main(String[] args) {
String[] isimler={"bir","iki","uc","dort"};
String[] renkler={"kirmizi","sari","yesil","mavi"};
Ana bir = new Ana();
bir.isim = "kirmizi";
bir.renk="kirmizi";
Ana iki = new Ana();
iki.isim = "sari";
iki.renk="sari";
Ana uc = new Ana();
uc.isim = "yesil";
uc.renk="yesil";
Ana dort = new Ana();
dort.isim = "mavi";
dort.renk="mavi";
while (birtobir=true && bir.renk.matches(bir.isim))
while(ikitoiki=true && iki.renk.matches(iki.isim))
while(uctouc=true && uc.renk.matches(uc.isim))
while(dorttodort=true && dort.renk.matches(dort.isim)) {
for (int a=0;a<renkler.length;a++) {
bir.renk=renkler[a];
if(bir.renk.length()==bir.isim.length()) {
boolean birtobir=true;
}
for (int b=0;b<renkler.length;b++) {
iki.renk=renkler[b];
if(iki.renk.length()==iki.isim.length()) {
boolean ikitoiki=true;
}
for (int c=0;c<renkler.length;c++) {
uc.renk=renkler[c];
if(uc.renk.length()==uc.isim.length()) {
boolean uctouc=true;
for (int d=0;d<renkler.length;d++) {
dort.renk=renkler[d];
}
if(dort.renk.length()==dort.isim.length()){
boolean dorttodort=true;
}
}
}
}
}
}
System.out.println(bir.isim+"="+bir.renk);
System.out.println(iki.isim+"="+iki.renk);
System.out.println(uc.isim+"="+uc.renk);
System.out.println(dort.isim+"="+dort.renk);
}
}
您應該首先正確縮進您的代碼,以便其他人閱讀並不困難。此外,而不是提供翻譯指南,只是做一個搜索和替換。 –
您是否嘗試使用調試器並查看inifite循環的位置?當你處於無限循環時,變量/ s是恆定的還是超出範圍? – amit
嗨。請你能解釋變種'birtobir',''ikitoiki','uctouc'和'dorttodort'的含義嗎?另外,向你的代碼添加註釋來描述正在發生的事情不僅可以幫助其他人分析它,還可能幫助你自己理解它。 – megaflop