我有一个字符串,例如:s2=“SPX8X55”
我希望此字符串的字母表中的每个字母都有自己的值:
(A=1,B=2,... Z=26)
我发现我可以通过foreach循环将字符分配给整数。因为我只使用大写字母,所以我使用c-64,因为A在ASCII中是数字65,所以65-64=1=
for (char c : s2.toCharArray()) {
int charzahl = c - 64;
System.out.println(charzahl);
}
但是我希望数字保持数字。如果我使用这个foreach循环,我得到8的-8和5的-11。我想到了一个“if语句”,比如:
if ( c >= 0 || c <= 0){ ... }
为了检查c是否有任何数字。如果我将这些字符转换为int,我会再次得到-8和-11。我如何将它们转换为int以保持原样?我的目的是在末尾用for循环将所有数字相加。
对于不同的范围,您有不同的计算。因为只有少数,所以这个语法很清楚。
int charzahl =
(c >= 'A' && c <= 'Z') ? c - 'A' + 1 :
(c >= '0' && c <= '9') ? c - '0' :
0;
问题内容: 我需要一个解决方案将String转换为字节数组,而无需像这样更改: 输入: 输出: 当我使用 那么回复是 但我希望回复是 问题答案: 您应始终确保序列化和反序列化使用相同的字符集,这会将字符映射到字节序列,反之亦然。默认情况下,String.getBytes()和新的String(bytes)使用默认字符集,该字符集可能是特定于语言环境的。 使用getBytes(Charset)重载
问题内容: 我正在从数据库中获取UTC时间戳,这是我设置为JodaTime 实例的时间 它完美地存储了时间,但带有本地时区。例如,我处于IST时区,即UTC的+5:30 我尝试了很多更改时区的方法,但每件事都会通过使用+5:30时差将时间从其他时间更改为其他时间 有什么方法可以更改TimeZone而不影响当前时间 编辑:如果我当前时间是: 以下是我使用这个的结果 以下是当我使用它的结果; 问题答案
我有一堆CSV文件,它们是作为数据流读取的。对于每个dataframe,我希望更改一些列名,如果某个dataframe中存在特定列: column_name_update_map={'aa':'xx';'bb':'yy'}
问题内容: 我想知道是否有一种方法可以将布尔值转换为int而不使用if语句(以免破坏管道)。例如,我可以写 但是我想知道是否有一种方法可以不使用if语句,例如Python的 我也觉得你可以做 但是,这会创建一个额外的对象,因此它确实很浪费,而且我发现它比if语句方式还要慢(它不一定效率低下,只是有一个弱点)。 问题答案: 除了if外,不能使用布尔值。但是,这并不意味着在装配级别将有一个分支。 如果
问题内容: 尝试如下 输出:12.0 但我想获得12.00的精度 请让我知道正确的方法,而不在字符串类中使用format()方法 问题答案: 使用而不是双重: 之所以有效,是因为保持了“精度”,构造函数将其设置为从右边的数字开始,并在中使用它。因此,如果仅将其丢弃,它就会打印出来。
我在用org。乔达。时间LocalDate和LocalDateTime。我从外部源获得一个Unix时间戳,并希望从中生成一个LocalDate(时间)。关键是,在该外部系统的界面中定义,所有日期/时间都在UTC时区内。因此,我希望避免从该时间戳到本地系统的任何默认时区的任何隐式转换,这可能与UTC不同。有一个LocalDateTime的构造器用于这些事情,所以我尝试(作为一个例子): 结果让我有点