检查 char 是不是不等于字母表的前 6 个字母
Posted
技术标签:
【中文标题】检查 char 是不是不等于字母表的前 6 个字母【英文标题】:Checking if a char isn't equal to the first 6 letters of the alphabet检查 char 是否不等于字母表的前 6 个字母 【发布时间】:2013-08-31 11:46:22 【问题描述】:您好,我正在尝试提出一个解决方案,以查找我的 char 变量是否是字母表的前六个字母之一。如果不是,那就是真的。
't' 是我的 char 变量,其中包含某个未知值。
我有什么:
(t < 'a' || t > 'f' && t < 'A' || t > 'F')
【问题讨论】:
那你现在想要什么? 注意操作顺序。 && 比 || 绑定得更紧密。 【参考方案1】:如果您想要一些冗长的实现,为了便于理解,您可以使用 JDK 1.7 进行尝试。
char t='t';
boolean status=true;
switch (String.valueOf(t).toLowerCase())
case "a": status=false;
break;
case "b": status=false;
break;
case "c": status=false;
break;
case "d": status=false;
break;
case "e": status=false;
break;
case "f": status=false;
break;
if(status)
System.out.println("condition satisfied");
else
System.out.println("letter is "+String.valueOf(t)+" and it is between a and f");
【讨论】:
【参考方案2】:正如你在这里看到的http://docs.oracle.com/javase/tutorial/java/nutsandbolts/operators.html &&
运算符的优先级高于||
所以你的条件
(t < 'a' || t > 'f' && t < 'A' || t > 'F')
和
一样(t < 'a' || (t > 'f' && t < 'A') || t > 'F')
^^^^^^^^^^^^^^^^^^^^
您可能想在这些部分中拆分的地方
((t < 'a' || t > 'f') && (t < 'A' || t > 'F'))
^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^
您还可以使用char tLower = Character.toLowerCase(t)
将您的字符设置为小写,然后检查是否为tLower < 'a' || tLower > 'f'
。
【讨论】:
【参考方案3】:表达式
((t >= 'a' && t <= 'f') || (t >= 'A' && t <= 'F'))
如果字母介于 A 和 F(大写或小写)之间,则计算为 true
。
如果情况不是,您希望它评估为true
,所以
!((t >= 'a' && t <= 'f') || (t >= 'A' && t <= 'F'))
会起作用的。
【讨论】:
【参考方案4】: "ABCDEFabcdef".indexOf(t) != -1
【讨论】:
【参考方案5】:你的情况有点不对,你是说
((t >= 'g' && t <= 'z') || (t >= 'G' && t <= 'Z'))
这个条件说:
t 大于或等于 'g' 且小于或等于 'z' 或
t 大于等于 'g' 小于等于 'Z'
你的情况说
t 小于 'a' 或
比'f'大,t比'A'小或
大于'F'
所以每个字符,包括数字字符和符号都可以通过条件
另外,当使用带有&&
和||
的if
语句时,使用“(”和“)”并说明哪些部分是分开的
【讨论】:
对不起,如果我不清楚。我不应该是字母表的前六个字母之一 @DaViDa 哈哈,让我编辑一下。等等,还需要一封信吗? 给定一个已经被赋值的 char 变量 t,写一个表达式,其值为真当且仅当 t 不是字母表中的前六个字母之一。 (我需要使用 a 和 f) @DaViDa 不清楚,但相信他们在谈论字母字符 @DaViDa 然后接受他的回答 :) 无论如何他的回答也让登录,所以请确保像“@”这样的标志是可以接受的【参考方案6】:int array[] = 'a','b','c','d','e','f';
string toCheck = 'b';
for(int i=0; i<array.length; i++)
if(toCheck.equal(array[i])
//oh crap
else //we are in home
【讨论】:
哈哈我喜欢“哦,废话”部分,但不幸的是条件不好以上是关于检查 char 是不是不等于字母表的前 6 个字母的主要内容,如果未能解决你的问题,请参考以下文章
用于检查 char 数组是不是包含 Java 中用户给定字母的 if 语句
实验6 (datasg段中每个单词的前4个字母改为大写字母。)
mysql中char类型保存的中文和字母怎么是一样多,char(16)保存16个字母,也可以保存16个中文,怎么不是8个