如果沒有負整數(shù),一共有 8037 種拆法。
創(chuàng)新互聯(lián)專注于右江網(wǎng)站建設服務及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供右江營銷型網(wǎng)站建設,右江網(wǎng)站制作、右江網(wǎng)頁設計、右江網(wǎng)站官網(wǎng)定制、成都小程序開發(fā)服務,打造右江網(wǎng)絡公司原創(chuàng)品牌,更為您提供右江網(wǎng)站排名全網(wǎng)營銷落地服務。
源碼:
import java.io.FileWriter;
import java.io.IOException;
import java.util.Arrays;
import java.util.Set;
import java.util.TreeSet;
public class Main {
public final static int Sum = 100;
static SetString Combinations = new TreeSet();
public static void main(String[] args) throws IOException {
for (int i1 = 0; i1 = Sum; i1++) {
for (int i2 = 0; i2 = Sum; i2++) {
for (int i3 = 0; i3 = Sum; i3++) {
for (int i4 = 0; i4 = Sum; i4++) {
String s = GetString(new int[] {i1, i2, i3, i4});
if (CheckNumbers(i1, i2, i3, i4)) {
Combinations.add(s);
}
}
}
}
}
System.out.println(Combinations);
System.out.println(Combinations.size());
FileWriter writer = new FileWriter("results.json");
writer.write(Combinations.toString());
writer.flush();
writer.close();
}
public static String GetString(int[] numbers) {
sort(numbers, 0, 3);
return Arrays.toString(numbers);
}
public static void sort(int[] arr,int begin,int end) {
int a = begin;
int b = end;
if (a = b) return;
int x = arr[a];
while (a b) {
while (a b arr[b] = x) b--;
if (a b) {
arr[a] = arr[b];
a++;
}
while (a b arr[a] = x) a++;
if (a b) {
arr[b] = arr[a];
b--;
}
}
arr[a] = x;
sort(arr,begin,a-1);
sort(arr,a+1,end);
}
public static boolean CheckNumbers(int i1, int i2, int i3, int i4) {
return (i1 + i2 + i3 + i4) == Sum;
}
}
1、根據(jù)題意需要有兩個步驟,第一識別第二替換,使用現(xiàn)成方法即可
2、示例如下,指定數(shù)字即代碼中的2|5可根據(jù)需要自行替換
String s ="1222223455555555555555556666666";
System.out.println(s.replaceAll("([2|5])\\1{1,}", "$1$1$1"));
哈,你的寫在一起是沒問題的.
在Clean code(整潔代碼)里面,提供把功能拆分和抽取,比如你的方法里面有一個判斷字符串是否為空的代碼:
if(null==str||"".equals(str.trim()){....}
而你這一段代碼,在其他地方也經(jīng)常復用,那么你就可以抽取出去成為一個工具類了
public?class?StrUtil{
public?boolean?isEmpty(String?str){
return?null==str?||"".equals(str.trim());
}
}
那么在你之前的代碼里面可以使用,以下的來代替
if(StrUtil.isEmpty(str)){
....
}
這樣子,你的代碼重用性和可閱讀性就提高不少了.
要怎樣子才抽取出去呢? 最簡單的2點
同一段代碼多次重用.
職能單一,一個方法只實現(xiàn)一種功能
詳細資料,推薦書籍:CleanCode代碼整潔之道
比如一個三次方程: a * x * x * x + b * x * x + c * x + d = 0;
程序是非常強大的,直接上代碼,用最基本的方法:
public static void main(String[] args) {
// 這是從鍵盤輸入的4個參數(shù)
int a = args[0];
int b = args[1];
int c = args[2];
int d = args[3];
// 可以把等式堪稱a * x * x * x + b * x * x + c * x + d = 0;
// 求0到1000的整數(shù)根
for(int i = 0; i 1000; i ++) {
int result = a * i * i * i + b * i * i + c * i + d;
if(result == 0) {
// 此處應該有掌聲
System.out.println("找到一個根:" + i);
}
}
}
希望我的答案能幫助你, 謝謝。
如果這個java代碼里面有多個類,每個類放到一個java文件中。如果只有一個類,那就沒辦法了。只能通過優(yōu)化業(yè)務邏輯,來減少代碼。
一般只要代碼格式、注釋規(guī)范,長一點并不會影響可讀性。倒是不好的業(yè)務邏輯會影響執(zhí)行的性能。
文章標題:拆訂單JAVA代碼拆三次 訂單管理系統(tǒng)java代碼
網(wǎng)頁網(wǎng)址:http://chinadenli.net/article32/hgdopc.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、品牌網(wǎng)站建設、App開發(fā)、網(wǎng)站導航、網(wǎng)站排名、網(wǎng)站設計公司
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)