thinking in Java 课后习题 thinking in Java 里的有个求吸血鬼数字的题目各位有什么好办法 发来大家讨论下 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://topic.csdn.net/u/20090302/19/79fb2477-5ac8-4d98-b62e-00eefa0cb230.html这里有人问过,而且也被高人解答过 某高人解答:public static void main(String[] args) { Calendar calendar = Calendar.getInstance(Locale.CHINA); calendar.add(Calendar.MONTH, -1); System.out.println(calendar); for (int i=1593; i<9999; i++) { String str = String.valueOf(i); String[] strSz = new String[4]; for(int j = 0; j < str.length(); j++){ String str1 = str.substring(j, j + 1); strSz[j] = str1; } String start = str.substring(0, 2); String end = str.substring(2); int num1 = Integer.parseInt(start); int num2 = Integer.parseInt(end); int s = num1 * num2; String newStr = Integer.toString(s); if(newStr.length() == 4){ if(newStr.endsWith("00")){ continue; } else if(sfcz(strSz, newStr)){ System.out.println(num1 + " " + num2 + " = " + s); } } } } private static boolean sfcz(String[] str, String newStr){ for(int i = 0; i < str.length; i++){ String stri = str[i]; if(newStr.contains(stri)){ newStr = newStr.replace(stri, ""); } else { return false; } } return true; } 《thinking in Java》这本书还是满深奥的!费解啊 把题目上一下么。。我thinking不在手边啊 我写的一个是有参数的,根据参数指定多少位的吸血鬼数字如 :methods(int i){ //i 为偶数 if(i / 2 != 0) return ; .............. // 根据 i 构造 i 位 的数字 后便调用下边的求兄弟字符串方法 分割返回的字符转成 数字 再判断是否符合条件 } //代码在我自己家的机子里 楼主要的话给我留个邮箱我把参数用String 传进去 返回它的兄弟字符串再把返回的字符串切成2段转成数字判断下边是求兄弟字符串的代码,用的是递归 效率估计不怎么好 完全是为了实现功能凑出来的 呵呵public class Test { private String string ; public Test(String string) { this.string = string; } public String getString() { return string; } public Set<String> getStrings(String s) { Set<String> set = new HashSet<String>(); int temp = s.length(); int temp2 = temp - 1; if (temp == 1) { set.add(s); } else { char c = s.charAt(0); for (String s1 : getStrings(s.substring(1, temp))) { for (int i = 0; i <= temp2; i++) { set.add(s1.substring(0, i) + c + s1.substring(i, temp2)); } } } return set; }} 发个有难度的贴 请问swing如何改变控件位置呢 JSplitPane 相关问题 ,请高手赐教啊 对菜单中按钮加监听~在线等 关于JAVA中乱码的一个问题,恳请大家指点!谢谢各位!!! 一道计算机组成原理的基础题,大家帮我分析一下啊 我们工作室最新发布的桌面搜索软件,大家多多支持,:) 类型转换 请教:关于Java Swing的Table的刷新的问题 SWT shell中无法响应事件 高分求一段程序 java 反射问题,请看代码
这里有人问过,而且也被高人解答过
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance(Locale.CHINA);
calendar.add(Calendar.MONTH, -1);
System.out.println(calendar);
for (int i=1593; i<9999; i++) {
String str = String.valueOf(i);
String[] strSz = new String[4];
for(int j = 0; j < str.length(); j++){
String str1 = str.substring(j, j + 1);
strSz[j] = str1;
}
String start = str.substring(0, 2);
String end = str.substring(2);
int num1 = Integer.parseInt(start);
int num2 = Integer.parseInt(end);
int s = num1 * num2;
String newStr = Integer.toString(s);
if(newStr.length() == 4){
if(newStr.endsWith("00")){
continue;
} else if(sfcz(strSz, newStr)){
System.out.println(num1 + " " + num2 + " = " + s);
}
}
}
}
private static boolean sfcz(String[] str, String newStr){
for(int i = 0; i < str.length; i++){
String stri = str[i];
if(newStr.contains(stri)){
newStr = newStr.replace(stri, "");
} else {
return false;
}
}
return true;
}
我thinking不在手边啊
如 :
methods(int i){ //i 为偶数
if(i / 2 != 0) return ;
.............. // 根据 i 构造 i 位 的数字
后便调用下边的求兄弟字符串方法
分割返回的字符转成 数字 再判断是否符合条件
} //代码在我自己家的机子里 楼主要的话给我留个邮箱我把参数用String 传进去 返回它的兄弟字符串
再把返回的字符串切成2段转成数字判断
下边是求兄弟字符串的代码,用的是递归 效率估计不怎么好 完全是为了实现功能凑出来的 呵呵
public class Test {
private String string ;
public Test(String string) {
this.string = string;
}
public String getString() {
return string;
}
public Set<String> getStrings(String s) {
Set<String> set = new HashSet<String>();
int temp = s.length();
int temp2 = temp - 1;
if (temp == 1) {
set.add(s);
} else {
char c = s.charAt(0);
for (String s1 : getStrings(s.substring(1, temp))) {
for (int i = 0; i <= temp2; i++) {
set.add(s1.substring(0, i) + c + s1.substring(i, temp2));
}
}
}
return set;
}
}