java递归
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
public class test {
public static void main(String[] args) {
ArrayList<ArrayList<Integer>> list = getArrays(1, 20, 30);
Iterator<ArrayList<Integer>> iter = list.iterator();
while (iter.hasNext())
System.out.println(Arrays.toString(iter.next().toArray()));
}
public static int sum(int min, int max) {
if (min > max)
return 0;
return (min + max) * (max - min + 1) / 2;
}
public static ArrayList<ArrayList<Integer>> getArrays(int min, int max, int sum) {
if (sum(min, max) < sum)
return null;
ArrayList<ArrayList<Integer>> list = new ArrayList<ArrayList<Integer>>();
for (int i = max; i >= min; i--) {
ArrayList<Integer> array;
if (i > sum)
continue;
else if (i == sum) {
array = new ArrayList<Integer>();
array.add(i);
list.add(array);
}
else {
ArrayList<ArrayList<Integer>> temp = getArrays(min, i - 1, sum - i);
if (temp == null)
continue;
Iterator<ArrayList<Integer>> iter = temp.iterator();
while (iter.hasNext()) {
array = iter.next();
array.add(i);
list.add(array);
}
}
}
return list;
}
}
相关文档:
123、设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。
以下程序使用内部类实现线程,对j增减的时候没有考虑顺序问题。
public class ThreadTest1{
private int j;
public static void main(String args[]){
ThreadTest1 tt=new ThreadTest1();
Inc inc=tt. ......
为了说明这个问题先给大家出个问题吧:
请看代码:
public abstract class A {
public A() {
initMethod();
}
public abstract void initMethod();
}
public class B extends A {
static String staticStr = "static1";
private String testStr = "Test1";
/*
* (non-Javadoc)
*
* @see A#in ......
//Number 11 过滤字符串中的非数字字符
import java.util.regex.*;
import java.util.Scanner;
public class GuoLv{
public static void main(String args[]){
Scanner reader = new Scanner(System.in);
  ......
XML现在已经成为一种通用的数据交换格式,它的平台无关性,语言无关性,系统无关性,给数据集成与交互带来了极大的方便。对于XML本身的语法知识与技术细节,需要阅读相关的技术文献,这里面包括的内容有DOM(Document Object Model),DTD(Document Type Definition),SAX(Simple API for XML),XSD(Xml Schema Definition),XSLT(Exten ......
import java.util.Properties;
public class ConfigReader {
private static Properties cache = new Properties();
static{
try {
cache.load(ConfigReader .class.getClassLoader().getResourceAsStream("config.properties"));
} catch (Exception e) {
&nbs ......