Java 如何将用户给定的整数更改为字符串?

Java 如何将用户给定的整数更改为字符串?,java,string,integer,type-conversion,Java,String,Integer,Type Conversion,我一直在为一个程序开发一个方法,我需要在不更改方法头的情况下将方法中的整数更改为字符串。这个方法的输出需要在开始时有一个零,我能想到的唯一方法就是使用字符串。我尝试过各种不同的方法,但我不确定如果你没有一个预定义的数字来处理,它应该如何工作。到目前为止,互联网对此毫无帮助。有人能帮我指出正确的方向吗 public static int encrypt(int num) { int digit4 = (num + 7) % 10; num /= 10; int dig

我一直在为一个程序开发一个方法,我需要在不更改方法头的情况下将方法中的整数更改为字符串。这个方法的输出需要在开始时有一个零,我能想到的唯一方法就是使用字符串。我尝试过各种不同的方法,但我不确定如果你没有一个预定义的数字来处理,它应该如何工作。到目前为止,互联网对此毫无帮助。有人能帮我指出正确的方向吗

 public static int encrypt(int num)
  {
    int digit4 = (num + 7) % 10;
    num /= 10;
    int digit3 = (num + 7) % 10;
    num /= 10;
    int digit2 = (num + 7) % 10;
    num /= 10;
    int digit1 = (num + 7) % 10;
    num /= 10;
    return (digit3 * 1000 + digit4  * 100 + digit1 * 10 + digit2);
  }

要获取
int
的值并将其放入
字符串中,请使用以下方法:
String.valueOf(int变量)

我可能误解了这个问题,但听起来像是在问,返回
int
的方法是否可以返回前导为零的int


答案是:不,它不能。如果要用前导零表示输出,则必须使用
String.format
或类似方法对其进行格式化。

以下是您要查找的内容(猜测):

此程序的输出将为

0189
0189
0189
如您所见,有3种方法(可能更多)以0开头打印数字,我不确定这是否是您想要的,或者可能继续以0开头处理数字

在这种情况下,您可以:

int myNumber;
if(number.charAt(0) == '0'){
    myNumber = 0;
    // ... your next process
}
else{
    myNumber = Integer.parseInt(number);
    // more code here
}

希望这对您有所帮助

如果您将一个
int
作为输入并发送另一个
int
作为输出,我看不出有什么理由需要在这里将任何内容转换为字符串。你只需要把数学计算好,但在我们提供帮助之前,你需要弄清楚你到底想计算什么。你可能想做的另一件事是简化一些语句。例如,使用'num/=10;'而不是“num=num/1-;”。它更具可读性。该方法不是以一个已知的数字开始的,该数字是由用户输入它组成的。我的问题是,如果用户输入1234,这个方法应该返回0189,目前它返回189。它已经放弃了应该领先的零。我不能只给它生成的每个数字加一个零,因为这样该方法就不会执行我需要它执行的任务。我需要一种方法,使该方法吐出的任何数字成为一个字符串,以便它前面有一个零,如果该数字恰好有一个零前导。@user3554304检查编辑,我编辑了整个答案。告诉我这是不是你要找的。
int myNumber;
if(number.charAt(0) == '0'){
    myNumber = 0;
    // ... your next process
}
else{
    myNumber = Integer.parseInt(number);
    // more code here
}