online compiler and debugger for c/c++

code. compile. run. debug. share.
Source Code    Language
import java.util.ArrayList; import java.util.List; public class Main { public static void main(String[] args) { String input = "1.1-10.1.2-8"; Range[] ranges = parse(input); List<String> result = new ArrayList<>(); compute(ranges, result, 0, ""); System.out.println(result); } private static void compute(Range[] ranges, List<String> result, int index, String prefix) { if (index >= ranges.length) { result.add(prefix); return; } Range range = ranges[index]; for (int i = range.start; i <= range.end; i++) { compute(ranges, result, index + 1, index == 0 ? prefix + i : prefix + "." + i); } } private static Range[] parse(String ip) { String[] parts = ip.split("\\."); Range[] ranges = new Range[parts.length]; for (int i = 0; i < parts.length; i++) { ranges[i] = parseRange(parts[i]); } return ranges; } private static Range parseRange(String part) { String[] nums = part.split("-", 2); if (nums.length == 2) { return new Range(Integer.parseInt(nums[0]), Integer.parseInt(nums[1])); } else { return new Range(Integer.parseInt(part), Integer.parseInt(part)); } } static class Range { int start; int end; Range(int start, int end) { this.start = start; this.end = end; } } }

Compiling Program...

Command line arguments:
Standard Input: Interactive Console Text
×

                

                

Program is not being debugged. Click "Debug" button to start program in debug mode.

#FunctionFile:Line
VariableValue
RegisterValue
ExpressionValue