我可以根据需要获取输出,但是当测试用例是
时kaj.jak
我的输出为
kaj.jak
但是我想要的是
kajjak
在这里我要删除'。'。我将如何去做呢? 下面是我的代码。
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
String strstr = s.next();
int len = strstr.length();
char[] str = strstr.toCharArray();
int flag = 0;
for (int i = 0; i < len / 2; i++) {
if (str[i] != str[len - 1 - i]) {
if (str[i] == '.')
str[i] = str[len - 1 - i];
else if (str[len - 1 - i] == '.')
str[len - 1 - i] = str[i];
else
flag = 1;
} else if (str[i] == '.' && str[len - 1 - i] == '.') {
str[i] = '';//one more thing here i am getting error as empty character literals
str[len - 1 - j] = '';
}
}
}
if(flag == 1)
System.out.println(-1);
else
System.out.println(str);
}
}
答案 0 :(得分:1)
对您的问题不太清楚,但是如果您只是想删除.
,请使用以下代码
strstr = strstr.replace(".", "");
答案 1 :(得分:0)
我想这就是你的样子: 她的“ \ 0”也是空字符;对于某些编译器,它可能会显示空间。
导入java.util.Scanner;
公共类主要{
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
String strstr = s.next();
int len = strstr.length();
char[] str = strstr.toCharArray();
int flag = 0;
for (int i = 0; i < (len / 2)+1; i++) {
if (str[i] != str[len - 1 - i]) {
if (str[i] == '.')
str[i] = str[len - 1 - i];
else if (str[len - 1 - i] == '.')
str[len - 1 - i] = str[i];
else
flag = 1;
} else if (str[i] == '.' && str[len - 1 - i] == '.') {
str[i] = '\0';//one more thing here i am getting error as empty character literals
str[len - 1 - i] = '\0';
}
}
if(flag==1)
System.out.println(-1);
else
System.out.println(str);
}
}
答案 2 :(得分:0)
如果您只想删除。从您的char字符串中,您可以执行以下操作:
Scanner s = new Scanner(System.in);
System.out.println("Enter your Strings: ");
char[] str = s.next().toCharArray();
int flag = 0;
for (int i = 0; i < str.length; i++) {
if(str[i] == '.'){
str[i] = 0;
}
}
for(int i = 0; i < str.length; i++){
if(str[i] == '.')
flag = 1;
else
flag = 0;
}
if(flag == 1)
System.out.println(-1);
else
System.out.println(str);
}
编辑:
顺便说一句,您在''
中使用str[len - 1 - i] = ''
,这是错误的,请使用0而不是char接受值而不是字符串