char[][] tab = {
{'S', 'a', 'm', 's', 'u', 'n', 'g'},
{'N', 'o', 'k', 'i', 'a'},
{'A', 'p', 'p', 'l', 'e'},
{'B', 'l', 'a', 'c', 'k', 'B', 'e', 'r', 'r', 'y'},
{'A', 'l', 'c', 'a', 't', 'e', 'l'},
{'S', 'o', 'n', 'y'},
{'J', 'o', 'l', 'l', 'a'},
};
int letters = 0;
int k = 0;
int licz = 0;
for (int i = 0; i < tab.length; i++) {
for (int j = 0; j < tab[i].length; j++) {
k = j;
while (k < tab[i].length - 1) {
if (tab[i][j] == tab[i][k]) letters++;
k++;
}
if (letters == 2) {
System.out.print("in this word : ");
for (int l = 0; l < tab[i].length; l++)
System.out.print(tab[i][l]);
System.out.print(" there are at least two identical letters");
System.out.println();
}
letters = 0;
}
}
System.out.println();
System.out.println();
for (int i = 0; i < tab.length; i++) {
for (int j = 0; j < tab[i].length; j++) {
licz += (int) (tab[i][j]);
}
if (licz > 255) {
System.out.print("in this word : ");
for (int l = 0; l < tab[i].length; l++)
System.out.print(tab[i][l]);
System.out.print(" sum of characters in the word > 255");
System.out.println();
}
licz = 0;
}
letters = 0;
System.out.println();
System.out.println();
for (int i = 0; i < tab.length; i++) {
for (int j = 0; j < tab[i].length; j++) {
if (tab[i][j] == 'i')
letters++;
}
if (letters > 0) {
System.out.print("in this word : ");
for (int l = 0; l < tab[i].length; l++)
System.out.print(tab[i][l]);
System.out.print(" there is at least one character 'i'");
System.out.println();
}
letters = 0;
}
System.out.println();
System.out.println();
for (int i = 0; i < tab.length; i++) {
for (int j = 0; j < tab[i].length; j++) {
k = j;
while (k < tab[i].length - 1) {
if ((int) (tab[i][j]) == (int) (tab[i][k]) || (int) (tab[i][j]) == (int) (tab[i][k]) - 32) letters++;
k++;
}
if (letters == 2) {
System.out.print("in this word : ");
for (int l = 0; l < tab[i].length; l++)
System.out.print(tab[i][l]);
System.out.print(" there are at least two of the same characters");
System.out.println();
}
letters = 0;
}
}
为什么我的程序显示的结果与预期的不同?
相同的字符是BlackBerry的字母,为什么?
结果:
这个词:苹果至少有两个相同的字母
这个单词:BlackBerry至少有两个相同的字母
这个单词:BlackBerry至少有两个相同的字母
这个单词:Jolla至少有两个相同的字母
在这个单词中:三星单词中的字符总和> 255
在这个单词中:诺基亚单词中的字符总和> 255
在这个单词中:苹果> 255个单词中的字符总和
在这个单词中:BlackBerry单词中的字符总和> 255
在这个单词中:单词> 255中的阿尔卡特字符总和
此单词中的单词:Sony单词中的字符总和> 255
在这个单词中:单词> 255中的荷拉字符总和
这个词:诺基亚至少有一个字符“ i”
这个词:三星至少有两个相同的字符
这个词:苹果至少有两个相同的字符
这个词:BlackBerry有至少两个相同的字符
这个词:BlackBerry有至少两个相同的字符
在这个词中:阿尔卡特至少有两个相同的字符
这个单词:Jolla至少有两个相同的字符
答案 0 :(得分:0)
输出:
这个单词:BlackBerry至少有两个相同的字母
在这个单词中:三星单词中的字符总和> 255
在这个单词中:诺基亚单词中的字符总和> 255
在这个单词中:苹果> 255个单词中的字符总和
在这个单词中:BlackBerry单词中的字符总和> 255
在这个单词中:单词> 255中的阿尔卡特字符总和
此单词中的单词:Sony单词中的字符总和> 255
在这个单词中:单词> 255中的荷拉字符总和
这个词:诺基亚至少有一个字符“ i”
这个词:BlackBerry有至少两个相同的字符
在这个词中:阿尔卡特至少有两个相同的字符
代码:
public static void main(String args[]) {
char[][] tab = {
{'S', 'a', 'm', 's', 'u', 'n', 'g'},
{'N', 'o', 'k', 'i', 'a'},
{'A', 'p', 'p', 'l', 'e'},
{'B', 'l', 'a', 'c', 'k', 'B', 'e', 'r', 'r', 'y'},
{'A', 'l', 'c', 'a', 't', 'e', 'l'},
{'S', 'o', 'n', 'y'},
{'J', 'o', 'l', 'l', 'a'},
};
int letters;
int k = 0;
int licz = 0;
for (int i = 0; i < tab.length; i++) {
letters = 0;
for (int j = 0; j < tab[i].length-1; j++) {
k = j+1;
while (k < tab[i].length) {
if (tab[i][j] == tab[i][k])
letters++;
k++;
}
if (letters == 2) {
System.out.print("in this word : ");
for (int l = 0; l < tab[i].length; l++)
System.out.print(tab[i][l]);
System.out.print(" there are at least two identical letters");
System.out.println();
break;
}
}
}
System.out.println();
System.out.println();
for (int i = 0; i < tab.length; i++) {
for (int j = 0; j < tab[i].length; j++) {
licz += (int) (tab[i][j]);
}
if (licz > 255) {
System.out.print("in this word : ");
for (int l = 0; l < tab[i].length; l++)
System.out.print(tab[i][l]);
System.out.print(" sum of characters in the word > 255");
System.out.println();
}
licz = 0;
}
letters = 0;
System.out.println();
System.out.println();
for (int i = 0; i < tab.length; i++) {
for (int j = 0; j < tab[i].length; j++) {
if (tab[i][j] == 'i')
letters++;
}
if (letters > 0) {
System.out.print("in this word : ");
for (int l = 0; l < tab[i].length; l++)
System.out.print(tab[i][l]);
System.out.print(" there is at least one character 'i'");
System.out.println();
}
letters = 0;
}
System.out.println();
System.out.println();
for (int i = 0; i < tab.length; i++) {
for (int j = 0; j < tab[i].length-1; j++) {
k = j+1;
while (k < tab[i].length) {
if ((int) (tab[i][j]) == (int) (tab[i][k]) || (int) (tab[i][j]) == (int) (tab[i][k]) - 32)
letters++;
k++;
}
if (letters == 2) {
System.out.print("in this word : ");
for (int l = 0; l < tab[i].length; l++)
System.out.print(tab[i][l]);
System.out.print(" there are at least two of the same characters");
System.out.println();
break;
}
}
letters = 0;
}
}