作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试按字母顺序打印字符串的不同字符,这是其他两个字符串串联的结果。我尝试过,但我得到了小方框作为输出。这是我的代码:
String s1 = "xyaabbbccccdefww", s2 = "xxxxyyyyabklmopq";
String s = s1+s2;
char[] c = s.toCharArray();
java.util.Arrays.sort(c);
char[] res = new char[c.length];
res[0]=c[0];
for(int i = 0; i<c.length ; i++) {
boolean isDuplicate=false;
for(int j = 0 ; j<c.length; j++) {
if(i!=j && c[i]==c[j]) {
isDuplicate=true;
break;
}
}
if(!isDuplicate) {
res[i+1]=c[i];
}
}
System.out.println(String.valueOf(res));
我得到这样的输出:
但我想要这样的输出:
abcdefklmopqwxy
最佳答案
结果中出现方框的原因是,您仅在某些索引中将一些字符分配到 res
数组中,具体取决于 i
时的值 !isDuplicate
条件为真。
此外,检测重复字符的逻辑存在错误。请参阅下面的更正。您可以使用 StringBuilder 来代替 char 数组来存储结果,如下所示:
String s1 = "xyaabbbccccdefww", s2 = "xxxxyyyyabklmopq";
String s = s1+s2;
char[] c = s.toCharArray();
java.util.Arrays.sort(c);
StringBuilder result = new StringBuilder();
for(int i = 0; i<c.length ; i++) {
boolean isDuplicate=false;
for(int j = i+1 ; j<c.length; j++) {
if(c[i]==c[j]) {
isDuplicate=true;
break;
}
}
if(!isDuplicate) {
result.append(c[i]);
}
}
System.out.println(result.toString());
仅使用字符数组的解决方案:
String s1 = "xyaabbbccccdefww", s2 = "xxxxyyyyabklmopq";
String s = s1+s2;
char[] c = s.toCharArray();
java.util.Arrays.sort(c);
char[] result = new char[c.length];
int resultIndex = 0;
for(int i = 0; i<c.length ; i++) {
boolean isDuplicate=false;
for(int j = i+1 ; j<c.length; j++) {
if(c[i]==c[j]) {
isDuplicate=true;
break;
}
}
if(!isDuplicate) {
result[resultIndex++]=c[i];
}
}
char[] actualResult = new char[resultIndex];
for(int i=0;i<resultIndex;i++) {
actualResult[i] = result[i];
}
System.out.println(String.valueOf(c));
System.out.println(String.valueOf(result));
System.out.println(String.valueOf(actualResult));
关于java - 获取方框作为输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52101444/
用例 在圆 Angular 方框中显示用户上传的照片。该图像将具有横向纵横比,但需要将其裁剪为正方形以适合容器内部。我们决定只显示照片的右侧(使照片的左侧不再可见)。 假设如下 照片无法预处理,我正在
为什么要使用滤波 消除图像中的噪声成分叫作图像的平滑化或滤波操作。信号或图像的能量大部分集中在幅度谱的低频和中频段是很常见的,而在较高频段,感兴趣的信息经常被噪声淹没。因此一个能降低高频成分幅度的
如何在vis js中设置内部可以有标签的形状的大小?例如 代码1: shape: 'circle', color: { border: 'black',
在我的 JLabel/JButton 组件等上,我使用 HTML 来格式化文本。这对于除古吉拉特语之外的所有语言都非常有效。 我使用普通的 ASCII 字母来编码古吉拉特语字母,例如: \u0aae\
我是一名优秀的程序员,十分优秀!