java - Nested loops for specific numbers -
java - Nested loops for specific numbers -
i have method takes in 2 ints method(int ii, int xx)
. want loop through range of values cant think of way without hard coding each value.
when ii = 21, want xx = 19 through 9 when ii = 20, want xx = 18 through 12
so hard coded be:
method(21,19) method(21,18) ... method(21,10) method(21,9) method(20,18) method(20,17) ... method(20,13) method(20,12)
this have far doesnt handle spcific cases dont want method(4,19)
for(int ii = 9;ii<21;ii++){ for(int xx = 4;xx<19;xx++){ method(ii,xx); } }
as suggested edd, you'll want utilize map. suggest creating range
class represent integer range xx
values, can build map of integer
--> range
(ii --> xx):
static class range { public final int start; public final int end; public range(int start, int end) { this.start = start; this.end = end; } } static final map<integer,range> range_map = new hashmap<integer,range>(); static { range_map.put(21, new range(9,19)); range_map.put(20, new range(12,18)); // ... } void calling_method() { for(entry<integer,range> entry : range_map.entryset()) { int ii = entry.getkey(); range r = entry.getvalue(); for(int xx = r.start; xx <= r.end; xx++){ method(ii,xx); } } } void method(int ii, int xx) { // stuff }
java for-loop nested-loops
Comments
Post a Comment