将输入转换为ASCII

时间:2016-09-29 16:12:30

标签: java ascii

我需要在32到93之间使用ASCII字符并让它们返回值true,否则这些参数之外的任何其他字符都将返回false值。

public static boolean safeToUse(String plaintext) {  
    plaintext = plaintext.toUpperCase();  

        for (char i=1; plaintext.length(); i++);  
        (i >32 && i < 93);
        return true;    
        else return false;
}  

然后我有另一个文件,它接受这个代码并吐出一个真或假:

String plaintext;
    plaintext = "!";
    if (CryptoCode.safeToUse(plaintext)) {
        System.out.println("Yay, it's a valid message to crypt!");
    }
    else {
        System.out.println("Ooops.");
    }

但是,每次获得的唯一返回值是返回true,无论其是否为假。如果我要切换我的&#34;返回true&#34;从第一个代码到&#34;返回false&#34;无论是否属实,每个答案都会吐出错误的值......

1 个答案:

答案 0 :(得分:0)

我不确定你为什么要转换为大写,但如果你仍然需要这样做,你可以修改下面的示例代码。另外,我不确定你的陈述是否过滤是为了包括或排除32和93的边缘值。我将留下你的决定。

public static boolean safeToUse(String plaintext) {  

      for (int i = 0; i < plaintext.length(); i++)
      {
           char c = plaintext.charAt(i);
           boolean valid = ( ((c >= 'a') && (c <= 'z'))  ||
                             ((c >= ' ') && (c <= ']')) );  // space is 32. right bracket is 93
           if (valid == false)
           {
               return false;
           }
      }

      return true;
}