Java printing a String containing an integer

僤鯓⒐⒋嵵緔 提交于 2019-11-30 12:45:26
Óscar López

Try this:

System.out.printf("M%d%n", number+1);

Where %n is a newline

Add a bracket around your sum, to enforce the sum to happen first. That way, your bracket having the highest precedence will be evaluated first, and then the concatenation will take place.

System.out.println("M"+(number+1));

It has to do with the precedence order in which java concatenates the String,

Basically Java is saying

  • "M"+number = "M1"
  • "M1"+1 = "M11"

You can overload the precedence just like you do with maths

"M"+(number+1)

This now reads

  • "M"+(number+1) = "M"+(1+1) = "M"+2 = "M2"

Try

System.out.println("M"+(number+1));

Try this:

System.out.println("M"+(number+1));

A cleaner way to separate data from invariants:

int number=1;
System.out.printf("M%d%n",number+1);

System.out.println("M"+number+1);

Here You are using + as a concatanation Operator as Its in the println() method.

To use + to do sum, You need to Give it high Precedence which You can do with covering it with brackets as Shown Below:

System.out.println("M"+(number+1));

  System.out.println("M"+number+1);

String concatination in java works this way:

if the first operand is of type String and you use + operator, it concatinates the next operand and the result would be a String.

try

 System.out.println("M"+(number+1));

In this case as the () paranthesis have the highest precedence the things inside the brackets would be evaluated first. then the resulting int value would be concatenated with the String literal resultingin a string "M2"

devi

If you perform + operation after a string, it takes it as concatenation:

"d" + 1 + 1     // = d11 

Whereas if you do the vice versa + is taken as addition:

1 + 1 + "d"     // = 2d 
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!