filimon Posted April 18, 2019 Share Posted April 18, 2019 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>" Quote Link to comment Share on other sites More sharing options...
0 Tryskell Posted April 18, 2019 Share Posted April 18, 2019 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. 1 1 Quote Link to comment Share on other sites More sharing options...
0 melron Posted April 18, 2019 Share Posted April 18, 2019 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) Quote Link to comment Share on other sites More sharing options...
0 Tryskell Posted April 18, 2019 Share Posted April 18, 2019 (edited) 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 April 18, 2019 by Tryskell Quote Link to comment Share on other sites More sharing options...
Question
filimon
I'm using this to convert numbers from 1 to 10 into images,
is there a way to replace each number automatically when found in string, for example : the number 123 to be converted into
Link to comment
Share on other sites
3 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.