早安,又是新的一天,來把這個小東西幹出來
經過一番研究,其實寫成
char[] r = s.ToCharArray();
就可以成立了啊
莫名直觀
只是不知道有沒有什麼ToIntArray、ToStringArray之類的東西
欸,有欸,ToIntArray 在Kotlin裡面欸笑死
好,回歸正題
總之既然已經能夠順利地變出array,剩下的一切就簡單了
直接上code!
Random z = new Random();
int nu = z.Next(9999);
string s = nu.ToString();
while (s.Length != 4)
{
s = "0" + s;
}
char[] rr = s.ToCharArray();
int i =0;
string a = Convert.ToString(Console.ReadLine());
char[] qq = a.ToCharArray();
while (true)
{
int m = 0;
int n = 0;
char o = '0';
if (a == s)
{
Console.WriteLine("You are right");
break;
}
else if(i<=5)
{
if(a.Length == 4)
{
for(int j=0;j<4; j++)
{
for (int y = 0; y < 4; y++)
{
if (rr[j] == qq[y])
{
m += 1;
if (rr[j] != o)
{
o = qq[y];
n += 1;
}
}
}
}
Console.WriteLine($"符合{m}不重複{n}");
}
Console.WriteLine("Try again");
a = Convert.ToString(Console.ReadLine());
qq = a.ToCharArray();
i++;
}
else
{
Console.WriteLine("Fall");
break;
}
}
好,我感覺一定有人會想,這個代碼也用得太醜了吧
沒錯,我就懶,練習題這種自己看的東西能用一個字母就不要用兩個,能用兩個字母就不要用三個
但未來如果真的有辦法寫程式賺錢錢,我一定會好好取名字的:D
然後有人仔細看的話,應該會發現這個版本還是有一些瑕疵
再貼一次老師的條件
而我的這個版本則會出現m2n2
其實說穿了就是題目沒看清楚,數的東西不一樣拉
不過大家還是可以玩玩看,蠻殺時間的XD