你好,这是我的第一条消息溢出(对不起,如果问题太长),我也是初级在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