首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Eclipse开发 >

Java练习题解决思路

2012-06-10 
Java练习题三个数相加和等于20,输出所有的三个数(三个数为1-9,可以重复)![解决办法]Java codeimport java.

Java练习题
三个数相加和等于20,输出所有的三个数(三个数为1-9,可以重复)!

[解决办法]

Java code
import java.util.ArrayList;import java.util.List;public class Test6 {    /**     * @param args     */    public static void main(String[] args) {        int k = 0;        String str;        List list = new ArrayList();        for (int i = 1; i <= 9; i++) {            for (int j = 1; j <= 9; j++) {                k = 20 - i - j;                if (k >= 1 && k <= 9) {                    str = i + "-" + j + "-" + k;                    System.out.println(str);                    list.add(str);                }            }        }        System.out.println("去除掉重复的,即2-9-9  -- 9-9-2应该是相同的:");        int cnt = 0;        String str1 = "";        while (cnt < list.size()-1){            str = (String) list.get(cnt);            for (int i = list.size() -1 ; i > cnt; i--){                str1 = (String)list.get(i) ;                if (str1.indexOf(str.charAt(0)) >= 0                        && str1.indexOf(str.charAt(2)) >= 0                        && str1.indexOf(str.charAt(4)) >= 0) {                    list.remove(i);                }             }            cnt++ ;        }                for (int i = 0; i < list.size(); i++) {            System.out.println(list.get(i));        }    }}
[解决办法]
Java code
package temp;import java.util.Arrays;import java.util.HashSet;import java.util.Iterator;public class Test2 {    public static void main(String[] args) {        HashSet<String> hs = new HashSet<String>();        int k = 0;        for (int i = 1; i <= 9; i++) {            for (int j = 1; j <= 9; j++) {                k = 20 - i - j;                if (k >= 1 && k <= 9) {                    int a[] = {i,j,k};                    Arrays.sort(a);                    StringBuilder sb = new StringBuilder();                    for(int n=0;n<a.length;n++) {                        sb.append(a[n]+" ");                    }                    hs.add(sb.toString());                }            }        }        Iterator<String> iterator = hs.iterator();        while(iterator.hasNext()){            String s = iterator.next();            System.out.println(s);        }    }} 

热点排行