女青年与西西
2017-11-18 11:38
采纳率: 25.8%
浏览 5.3k
已采纳

java判断char类型是否是空格

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 != ')'), 还是进入了循环内,想问该怎么改?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • blownewbee 2017-11-18 12:03
    已采纳
     ch != ' '
    这才是判断空格
    
    点赞 评论
  • q785651821 2017-11-18 14:26

    我去,你那个不是判断是否为空,你这样写
    if(ch !=null$$!"".length){
    //接着写
    }
    //我没明白什么叫不等于空格,但我看你的意思应该是不等于空,不等于空字符串。所以我是这样写的
    //如果你非要不等于空格的话那就是这样
    if(ch !=""){}//在单引号中加个空格就是不等于空格,你试试,还有char类型才用单引号,你明显在调用方法,为啥用单引号,以后用双引号吧
    char a ='';但不是char尽量不要用单引号,判断非空就是刚开始那一个

    点赞 评论

相关推荐 更多相似问题