- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想写我自己的 compareTo 方法,所以我写了这段简单的代码:
public int myCompare(String a, String b) {
int min = Math.min(a.length(), b.length());
for (int i=0; i < min; i++) {
int diff = a.charAt(i) - b.charAt(i);
if (diff == 0) {
continue;
} else {
return diff;
}
}
// meaning both strings are equals so far
if (a.length() == b.length()) {
return 0;
} else if (a.length() > b.length()) {
return -1;
} else {
return 1;
}
}
好吧,这段代码工作正常,但我讨厌最后的 if/else
语句 - 你对如何改进这段代码有什么建议吗?
最佳答案
这取决于你想自己写多少。你可以使用
return a.length() - b.length(); // as length is non-negative
或
return Integer.compareTo(a.length(), b.length());
在你的第一个循环中你也可以写
for (int i = 0; i < a.length() && i < b.length(); i++) {
int diff = a.charAt(i) - b.charAt(i);
if (diff != 0)
return diff;
}
关于java - 如何手动按字典顺序比较 "abcd"& ""abcde"有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38322857/
我想写我自己的 compareTo 方法,所以我写了这段简单的代码: public int myCompare(String a, String b) { int min = Math.min
这个问题在这里已经有了答案: Why use parentheses when returning in JavaScript? (9 个回答) 关闭 6 年前。 我正在努力处理一些 JavaScr
void main() { printf("ABCD"); printf("\n"); printf("ABCD" +1); printf("\n"); printf("ABC
为什么在字符串 abcd 1234 abcd 上使用正则表达式 .* 时会得到两个匹配项?请参阅https://regex101.com/r/rV8jfz/1 . 从regex101给出的解释中,我可
为什么在字符串 abcd 1234 abcd 上使用正则表达式 .* 时会得到两个匹配项?请参阅https://regex101.com/r/rV8jfz/1 . 从regex101给出的解释中,我可
def censor2(filename): infile = open(filename,'r') contents = infile.read() contentlist
经过大量的反复试验,我是这样做的: #include #include #include /*Prototype of a hashtag function*/ void hashtag(cha
首先让我承认,通过以不重叠的方式命名类型和变量来避免这种情况很容易。 尽管如此,我很好奇在以下情况下会发生什么: typedef char jimmypage; jimmypage *jimmypag
我正在研究“c 编程语言”练习 2.4,它删除 s1 中与字符串 s2 中的任何字符匹配的每个字符。下面是我的代码,它有效。但是,如果我将 Main 函数中的定义从 char c1[ ]="abcde
所以我们创建了一个 map 。我们想要获取 some_type blah = map_variable[some_not_inserted_yet_value] 如果之前没有创建,这将调用向 map
Directory.GetFiles(LocalFilePath, searchPattern); MSDN 注释: When using the asterisk wildcard characte
到目前为止,当你输入 f 时没有任何反应,它只在输入 0 时有效,但我想要它,所以当你按 f 时,你会得到这个 a ab abc abcd abcde abcdef #include using n
每当我使用 vim 时,按上、下、左、右,它分别映射到 A、B、C、D,但仅限于插入模式。在插入模式之外,这些键可以正常工作。我检查了 .vimrc 文件,没有发现任何可能导致此问题的可疑内容。 我使
给定与属性 ABCD 的关系,知道没有记录具有 NULL 值,如何编写证明函数依赖关系 A → B 的 SQL 语句? 最佳答案 SELECT * from R r1, R r2 where r1.A
我正在使用一些不是我编写的旧代码,并且需要一些帮助来理解它。 (function() { var abc = "SORocks"; $.fn[abc] = function (x) {
昨天我正在解决 Spoj 问题 ABCD:http://www.spoj.com/problems/ABCD/ 我得到了错误的答案,但我真的不明白为什么。我已经尝试了论坛和评论中的所有测试用例。是否接
我有一个像 'g fmnc wms bgblr rpylqjyrc gr zw fylb' 这样的字符串。我在 python 中使用 .split() 函数并获取 ['g', 'fmnc', 'wms
如何编写 Javascript 正则表达式来匹配除给定字符串(“ABCD”)以外的所有内容? 类似于 /[^ABCD]/ 除了我不想匹配所有不是字母 A、B、C 或 D 的东西。我想匹配所有不是的东西
这个问题在这里已经有了答案: How do I compare strings in Java? (23 个回答) 关闭 8 年前。 String s1 = new String("anil
我知道还有其他关于语法 class #> #What does this outputs mean??????? def onSelf.SelfMet puts 'This is a met
我是一名优秀的程序员,十分优秀!