-2
標題可能不是描述性的,但留在我身邊。 這是應該如何佈雷的排序是這樣的:如何泡泡? | C#
string s = Console.ReadLine();
StringBuilder sb = new StringBuilder(s);
for (int i = 0; i < sb.Length; i++)
{
for (int j = 0; j < sb.Length - 1; j++)
{
if (sb[j] > sb[j + 1])
{
char tmp = sb[j];
sb[j] = sb[j + 1];
sb[j + 1] = tmp;
}
}
}
s = sb.ToString();
Console.WriteLine(s);
但是我不小心寫這樣的,我不知道爲什麼這工作我不應該至少得到一個indexOutOfRange異常? - >
string s = Console.ReadLine();
StringBuilder str = new StringBuilder(s);
for (int i = 0; i < s.Length; i++)
{
for (int j = 0; j < str.Length; j++)
{
if (str[i] < str[j])
{
var tmp = str[j];
str[j] = str[i];
str[i] = tmp;
}
}
}
s = str.ToString();
Console.WriteLine(s);
只是爲了澄清這個命令按字母順序排列單詞的字母。
您的索引始終在第二個版本的範圍內。你只使用'i'和'j',並且兩者總是小於'Length',這對StringBuilder中的字符串和它的拷貝是一樣的。你爲什麼期望有一個例外? –
「尋求調試的問題的幫助(」爲什麼不是這個代碼工作?「)的大部分或所有參數都適用於這個」爲什麼這個代碼可以工作「的問題。所以,我正在投票結束。順便說一句,這可能是第一個「爲什麼這個代碼工作」的問題,我在這裏遇到這麼:) – fvu