Jump to content
  • 0

Replace int with images


filimon

Question

I'm using this to convert numbers from 1 to 10 into images,

 

public final static String number(int numberid)
	{
		Map<Integer, String> number;
		number = new FastMap<Integer, String>();

		number.put(1, "<icon._num1 width=16 height=16>");
		number.put(2, "<icon._num2 width=16 height=16>");
		number.put(3, "<icon._num3 width=16 height=16>");
		number.put(4, "<icon._num4 width=16 height=16>");
		number.put(5, "<icon._num5 width=16 height=16>");
		number.put(6, "<icon._num6 width=16 height=16>");
		number.put(7, "<icon._num7 width=16 height=16>");
		number.put(8, "<icon._num8 width=16 height=16>");
		number.put(9, "<icon._num9 width=16 height=16>");
		number.put(10, "<icon._num10 width=16 height=16>");
		return number.get(numberid);
	}

 

 

is there a way to replace  each number automatically when found in string, for example : the number 123 to be converted into

"<icon._num1 width=16 height=16>"+"<icon._num2 width=16 height=16>"+"<icon._num3 width=16 height=16>"

 

Link to comment
Share on other sites

3 answers to this question

Recommended Posts

  • 0
public final static String retrieveIcon(int number)
{
	return "<icon._num" + number + " width=16 height=16>";
}

About your second ask, you could parse the int 123 as a string and loop over each encountered character and refer to retrieveIcon method - if you had only one digit. Since you got potentially 2 (with "10"), it's not possible, since it will be cut to 0 and 1.

 

My example can work if you move your notation from 0 to 9 instead of 1 to 10.

 

And don't build random Map on a getter, it's terrible.

  • Like 1
  • Upvote 1
Link to comment
Share on other sites

  • 0
4 hours ago, Tryskell said:

public final static String retrieveIcon(int number)
{
	return "<icon._num" + number + " width=16 height=16>";
}

About your second ask, you could parse the int 123 as a string and loop over each encountered character and refer to retrieveIcon method - if you had only one digit. Since you got potentially 2 (with "10"), it's not possible, since it will be cut to 0 and 1.

 

My example can work if you move your notation from 0 to 9 instead of 1 to 10.

 

And don't build random Map on a getter, it's terrible.

About the 2nd ask

 

public final static String retrieveIcon(int... values) 

Can do that. He just have to separate the values 

retrieveIcon(5,8,10,4,3)

Link to comment
Share on other sites

  • 0
1 hour ago, melron said:

About the 2nd ask

 

public final static String retrieveIcon(int... values) 

Can do that. He just have to separate the values 

retrieveIcon(5,8,10,4,3)

 

Yes and no (the for loop isn't the problem btw :P), his ask is to cut "123" into icon1, icon2 and icon3. That's not possible with "581043", "10" will be cut "1" and "0", not "10". That's why I suggested to change his notation from 1 to 10 > 0 to 9.

 

And if you say "10" is the only number with a "0" and can be actually be parsed, then what about "11", "12", "13",... :P.

Edited by Tryskell
Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now


×
×
  • Create New...