import java.util.Scanner;
public class B1057 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String input = in.nextLine();
char basech1 = 'A';
char basech2 = 'a';
int sum = 0;
for (int i = 0; i < input.length(); i++)
{
char ch = input.charAt(i);
if ( ch != '\0' && ch != '(' && ch != ')')
{
if ((int)ch > 90)
{
sum = sum + (ch - basech2);
}
else
{
sum = sum + (ch - basech1);
}
}
}
int []base2 = new int[32];
int i = 0;
while (sum != 0)
{
base2[i++] = sum % 2;
sum = sum / 2;
}
for (int j = base2.length - 1; j >= 0; j--)
{
System.out.print(j);
}
in.close();
}
}
输入 PAT (Basic), debug看测试i = 3时,ch = str.CharAt(i) ,判断是不是空格,我用的
是'\0', if ( ch != '\0' && ch != '(' && ch != ')'), 还是进入了循环内,想问该怎么改?
ch != ' '
这才是判断空格
我去,你那个不是判断是否为空,你这样写
if(ch !=null$$!"".length){
//接着写
}
//我没明白什么叫不等于空格,但我看你的意思应该是不等于空,不等于空字符串。所以我是这样写的
//如果你非要不等于空格的话那就是这样
if(ch !=""){}//在单引号中加个空格就是不等于空格,你试试,还有char类型才用单引号,你明显在调用方法,为啥用单引号,以后用双引号吧
char a ='';但不是char尽量不要用单引号,判断非空就是刚开始那一个