编写一个方法,根据字符(char)[输入]是否是要编码的有效字符,返回true或false。即,如果输入[输入字符]为'a'-'z'或'a'-'z',则返回true,否则返回false。
为什么我的答案错了????
公共静态布尔isValidChar_Q1(char chr){
if(chr == 'a'-'z')
{
return true;
}
if(chr == 'A'-'Z')
{
return true;
}
return false;
}
您编写了'a'-'z'
,它将转换为ASCII码减法,结果将是-25
,而对于'a'-'z'
语句,结果将是(当然也是)-25
。
你应该写些
if( (chr <= 'z' && chr >= 'a') || (chr <= 'Z' && chr >= 'A') )
return true;
return false;
请记住,计算机使用的是ASCII码,而不是“字符”,并且计算机会检查给定字符的有效代码(总是正值,-25
无效),在我们的例子中,chr
的ASCII码应该小于或等于z
,依此类推(请参见上面的if语句)。
如果您熟悉重载return
语句,还可以简化函数(使其更具可读性):
return (chr >= 'a' && chr <= 'z') || (chr >= 'A' && chr <= 'Z')
语法if(chr=='a'-'z')
不正确。'a'
和'z'
都是字符文字,但Java字符是16位整数类型。所以'a'-'z'
要编写-25
还有很长的路要走。我会简化逻辑和测试。类似
public static boolean isValidChar_Q1(char chr) {
char t = Character.toLowerCase(chr);
return t >= 'a' && t <= 'z';
}
在比较中,您试图将单个字符与一个范围进行比较,这在Java中是无法编写的。你的语法看起来更像正则表达式([a-zA-Z]
),而不是正确的Java比较。
如果要检查变量的值是否在某个范围内,需要将其与其边界进行比较:大于或等于左边缘,小于或等于右边缘。
public static boolean isValidChar_Q1(char chr) {
return (chr >= 'a' && chr <= 'z') || (chr >= 'A' && chr <= 'Z');
}
问题内容: 在一个SQL语句中,我尝试插入一行,如果由于约束而失败,则返回现有行。 我有: 该列具有唯一约束。我尝试在末尾追加,但这仍然不返回现有行。 为什么是这样?我以为我的最后一条语句将被执行并返回。有任何想法吗? 注意:由于某些复杂的竞争条件,我无法使用Postgres函数或多个SQL语句。 问题答案: WITH d(t, e) AS ( VALUES (‘abcdefg’, ‘2014-0
问题内容: 我在node.js中编写一个函数来查询PostgreSQL表。 如果该行存在,我想从该行返回id列。 如果不存在,我想将其插入并返回ID()。 我一直在尝试和语句的变体,但似乎无法使其正常工作。 问题答案: 我建议在数据库端进行检查,然后将ID返回给nodejs。 例子: 而不是在Node.js端(在此示例中,我使用的是node-postgres):
因此,我试图分析我的元组集,看看对于该集中的x,是否有两对分别由2个元素和3个元素组成的元素。 所以就像每个第一个字符一样,必须有3个相同的字符和2个相同的字符。。。 但它们必须是连接的,例如如果有3A和2C,则顺序只能是AAAAC或CCAAA,而不能是CACAA或ACCAA等 那么比如说,, 下面是我对代码的尝试 然而,我的代码只有在它是一个列表时才起作用。。。当我放入一组元组时,它不起作用。。
所以我有一个列表,它的数据是这样的。现在我必须找到列表中每个元素的第一个字符,看看是否有3个相同的字母和2个相同的字母。 注意:它们必须是有序的。。总是像x,x,x,y,y或y,y,x,x,x。任何其他组合,如x,y,y,x,x或x,y,x,y,x将返回False 比如说 返回,因为有3个A和2个C。 返回,因为顺序不对 返回,因为有3个A和2个C 返回,因为没有一个字符出现3次和2次。 这是我到
这三个函数的返回类型提示有什么不同吗? 他们都应该有< code>- 提问的动机是这个问题,这个很好的答案,以及我正在学习类型提示的事实。
我在堆栈溢出中搜索这个问题。但我很难理解编码,因为有人使用递归过程。 我知道在最小堆中,每个父节点都小于或等于它的子节点…我也知道我们在树[K]中使用公式树[K/2]表示父节点,它的左子节点是树[2K],它的右子节点是树[2K1],只有当我们从1而不是0开始数组时,这才是真的。 有三种情况可以检查我的数组是否是min heap: 1.内部节点既有左子节点也有右子节点。 2.最后一个节点可能只有一个