相关疑难解决方法(0)

如何在左侧填充带零的整数?

int转换为Stringjava 时,如何使用零填充?

我基本上希望9999用前导零填充整数(例如1 = 0001).

java formatting zero-pad

964
推荐指数
8
解决办法
60万
查看次数

如何在Java中填充字符串?

是否有一些简单的方法来填充Java中的字符串?

看起来像某些类似于StringUtil的API,但我找不到任何可以做到这一点的东西.

java string padding

412
推荐指数
13
解决办法
57万
查看次数

字符串是不可变的.究竟是什么意思?

我在不可变字符串上编写了以下代码.

public class ImmutableStrings {

    public static void main(String[] args) {
        testmethod();
    }

    private static void testmethod() {
        String a = "a";
        System.out.println("a 1-->" + a);
        a = "ty";
        System.out.println("a 2-->" + a);
    }
}
Run Code Online (Sandbox Code Playgroud)

输出:

a 1-->a  
a 2-->ty
Run Code Online (Sandbox Code Playgroud)

这里变量的值a已经改变(许多人说不可变对象的内容不能改变).但究竟是什么意思说String是不可改变的?你能否为我澄清一下这个话题?

来源:https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html

java string immutability

194
推荐指数
4
解决办法
26万
查看次数

如何在java中获得整数的0填充二进制表示?

例如,1, 2, 128, 256输出可以是(16位):

0000000000000001
0000000000000010
0000000010000000
0000000100000000
Run Code Online (Sandbox Code Playgroud)

我试过了

String.format("%16s", Integer.toBinaryString(1));
Run Code Online (Sandbox Code Playgroud)

它为左边填充放置空格:

`               1'
Run Code Online (Sandbox Code Playgroud)

如何将0s用于填充.我在Formatter中找不到它.还有另一种方法吗?

提前致谢.

PS 这篇文章描述了如何使用左0填充格式化整数,但它不适用于二进制表示.

java binary string-formatting

113
推荐指数
7
解决办法
12万
查看次数

Angular2或TypeScript左边填充带零的字符串

我有一个数字让我说9.但我需要它作为字符串"09".

我知道我可以写自己的逻辑.但我正在寻找一个隐含的util函数,它可以填充它.

我在TypeScript中使用angular2.寻找像这样.

就像java一样

String.format("%010d", Integer.parseInt(mystring));
Run Code Online (Sandbox Code Playgroud)

string padding typescript angular

22
推荐指数
5
解决办法
3万
查看次数

将int转换为具有固定位数的二进制

java中最简单的方法是将整数的二进制表示形式作为具有固定位数的二进制数(例如,如果我想用5位转换3,那么结果将是00011).在matlab中,我可以指定位数作为参数.

java

11
推荐指数
3
解决办法
4万
查看次数

在java中填充数字直到字符串为8个字符?

我正在阅读,找不到相当的片段.我正在寻找一个函数,它接受一个字符串并左键填充零(0),直到整个字符串长度为8位.我找到的所有其他片段只允许整数控制填充多少,而不是填充多少,直到整个字符串为x位长.在java中.

BC238 => 000BC289
4 => 00000004

等等谢谢.

java string hex padding

4
推荐指数
2
解决办法
7115
查看次数

如何格式化前导零的资源字符串?

我在我的使用占位符字符串 strings.xml

<string name="date">%1$d.%2$d.%3$d</string>
Run Code Online (Sandbox Code Playgroud)

并在代码中设置它:

String.format(context.getResources().getString(R.string.date), day, month, year);
Run Code Online (Sandbox Code Playgroud)

如果我们以5号为例,现在的结果是:

5.5.2015
Run Code Online (Sandbox Code Playgroud)

如何将超过10的数字的前导零添加到字符串资源中?

不是重复左填充用零字符串,因为这个问题的解决方法是:

String.format("%010d", Integer.parseInt(mystring));
Run Code Online (Sandbox Code Playgroud)

但是android资源字符串的格式是:

%1$d
Run Code Online (Sandbox Code Playgroud)

其中1指示索引.我应该把它放在哪里02

string android

4
推荐指数
1
解决办法
2022
查看次数

Java:将二进制字符串转换为十六进制字符

我需要将二进制字符串转换为十六进制字符串,但我有一个问题.我通过这种方法将二进制字符串转换为十六进制字符串:

public static String binaryToHex(String bin){
   return Long.toHexString(Long.parseLong(bin,2));
}
Run Code Online (Sandbox Code Playgroud)

没关系!但我丢失了字符串左边的零.例如:

该方法返回此:123456789ABCDEF,但我想要返回此:

00000123456789ABCDEF

java binary hex

3
推荐指数
1
解决办法
2万
查看次数

Java - 检查ArrayList是否重复

我正在为孩子们在学校生成4个字符的密码.引脚必须在数据库中存储为4个字符串.这是我用来生成引脚的方法:

public void generatePin() {
    String pin;
    Random r = new Random();
    for (int i = 0; i < createdStudents.size(); i++) {
        int rand = r.nextInt((3998 - 1) + 1) + 1;
        if (rand < 10) {
            pin = "000" + rand;
        } else if (rand < 100) {
            pin = "00" + rand;
        } else if (rand < 1000) {
            pin = "0" + rand;
        } else {
            pin = "" + rand;
        }
        createdStudents.get(i).setPin(pin);
    }
}
Run Code Online (Sandbox Code Playgroud)

我的问题是:

如果我略微改变上面的方法,在我去的时候将每个引脚添加到String类型的ArrayList中,"搜索​​"该列表的最有效方法是什么,并确保一所学校的2名学生不会最终得到相同的针脚? …

java arraylist duplicates

2
推荐指数
1
解决办法
362
查看次数