代碼如下:
公司主營(yíng)業(yè)務(wù):成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。成都創(chuàng)新互聯(lián)公司是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來驚喜。成都創(chuàng)新互聯(lián)公司推出大城免費(fèi)做網(wǎng)站回饋大家。
import?java.util.Arrays;
public?class?App53?{
public?static?void?main(String[]?args)?{
String?s?=?"12?335?4456?111?7799?5";
//?將原字符串通過空格分割成字符串?dāng)?shù)組
String[]?numbers?=?s.split("?");
//?進(jìn)行排序
Arrays.sort(numbers,(x,?y)?-?{
//?如果?x?大于3位,截取后3位
if?(x.length()??3)?{
x?=?x.substring(x.length()?-?3,?x.length());
}
//?如果?y?大于3位,截取后3位
if?(y.length()??3)?{
y?=?y.substring(y.length()?-?3,?y.length());
}
//?轉(zhuǎn)換成整型并比較大小
return?Integer.valueOf(x).compareTo(Integer.valueOf(y));
});
//?將排序后的結(jié)果拼接成字符串
String?result?=?String.join("?",?numbers);
//?輸出結(jié)果
System.out.println("排序前:"?+?s);
System.out.println("排序后:"?+?result);
}
}
public class Test2 {
public static void main(String[] args) {
int oneDesk;//第一張桌子價(jià)格
int twoDesk;//第二張桌子價(jià)格
int threeDesk;//第三張桌子價(jià)格
for(int i=1;i4001;i++){//總價(jià)是4000,所以第一張桌子價(jià)格只能在1和4000之間
oneDesk=i;
twoDesk=oneDesk-400;
threeDesk=twoDesk*2;
if(oneDesk+twoDesk+threeDesk==4000twoDesk0threeDesk0){
System.out.println("第一張桌子的價(jià)格"+oneDesk);
System.out.println("第二張桌子的價(jià)格:"+twoDesk);
System.out.println("第三張桌子的價(jià)格:"+threeDesk);
}
}
}
}
18
import?java.util.HashMap;
import?java.util.Map;
public?class?Solution?{
public?static?void?main(String[]?args)?{
//?TODO?Auto-generated?method?stub
for(int?i=0;;i++){
MapCharacter,?Character?map= new?HashMapCharacter,?Character();
int?n=(int)?Math.pow(i,?3);
int?m=(int)?Math.pow(i,?4);
String?re=n+""+m;
for(int?j=0;jre.length();j++){
if(map.get(re.charAt(j))!=null){
break;
}
map.put(re.charAt(j),?re.charAt(j));
}
if(map.size()==10){
System.out.println(i);
}
}
}
}
先回答你的問題:while(a.size()1)是因?yàn)橐h(huán)有個(gè)結(jié)束的條件,這個(gè)條件就是list中的人數(shù)就只剩一個(gè)人時(shí)結(jié)束循環(huán)!2,3都沒有意義,因?yàn)闆]做完!
樓主可以用下面的方法,我剛做的,有注釋!最后結(jié)果為436!如果不懂,可以再問我!
public class RenShu {
public static void main(String[] args) {
int peop = 500;//有500個(gè)人
boolean[] brr = new boolean[peop];//聲明一個(gè)500個(gè)元素的Boolean數(shù)組
Arrays.fill(brr, true);//默認(rèn)都為true
int count=0;//報(bào)數(shù)號(hào)
int remain=peop;//剩下的人數(shù)
int index=0;//數(shù)組下標(biāo)號(hào)
while(remain!=1){//剩下人不是一個(gè)時(shí)繼續(xù)
if(brr[index]){//該元素為false時(shí)不計(jì)數(shù)
count++;//計(jì)數(shù)
if(count%3==0){//計(jì)數(shù)為3時(shí)做以下三件事
brr[index]=false;//將該元素值改為false,為了標(biāo)志他被淘汰,不參加報(bào)數(shù)
remain--;//剩下的人數(shù)減一
count=0;//計(jì)數(shù)清零,重新報(bào)數(shù)
}
}
index++;//數(shù)組下標(biāo)增加
if(index==peop){
index=0;//如果數(shù)組下標(biāo)和人數(shù)相等,即一個(gè)循環(huán)結(jié)束,應(yīng)重新開始
}
}
for(int i=0;ibrr.length;i++){
if(brr[i]){
System.out.println(i+1);//最后打印那個(gè)唯一的true的下標(biāo)值,因?yàn)閿?shù)組從0開始,所以要加1
}
}
}
}
public static int [] getRemoveSame(int [] srcArray){
ListInteger list = new ArrayListInteger();
for (int i = 0; i srcArray.length; i++) {
//如果list里已經(jīng)有數(shù)組的某個(gè)元素,則不添加到list中,進(jìn)行下次循環(huán)
if (list.contains(srcArray[i])) {
continue;
}
list.add(srcArray[i]);
}
int [] newArray = new int[list.size()];
int index = 0;
for (int a : list) {
newArray[index++] = a;
}
return newArray;
}
方法一:
import java.util.ArrayList;
import java.util.List;
public class test10 {
// 解題思路:先帶走貓,后帶走狗,再把貓帶回,把魚帶過去,最后再把貓帶過去即可
// 定義兩個(gè)集合,存放,帶過去的動(dòng)物,和剩下的動(dòng)物
static ListString there = new ArrayListString();
static ListString here = new ArrayListString();
public static void main(String[] args) {
here.add("cat");
here.add("dog");
here.add("fish");
test10 test10 = new test10();
test10.take();
}
// 判斷動(dòng)物是否安全
public boolean isSafty(ListString list) {
// 如果一個(gè)集合中同時(shí)出現(xiàn)了貓和狗,貓和魚的都認(rèn)為不安全
if (list.add("dog") list.add("cat") || list.add("cat")
list.add("fish")) {
return false;
}
return true;
}
public void take() {
// 得到要帶走的動(dòng)物
String anim = here.get(0);
// 從剩下的集合中刪除
here.remove(here.get(0));
if (anim.equals("cat")) {
// 添加到以帶過去的集合里面
there.add(anim);
// 繼續(xù)帶下一個(gè)動(dòng)物
if (here.isEmpty()) {
System.out.println();
System.out.println("最后在把" + anim + "帶走了");
return;
} else {
System.out.println("帶走了" + anim);
System.out.print("剩下:");
for (String s : here) {
System.out.print(s + " ");
}
System.out.println();
System.out.println("----------------------------");
take();
}
} else if (anim.equals("dog")) {
there.add(anim);
System.out.println("然后把" + anim + "帶走");
// 判斷是否安全,之后繼續(xù)帶下一個(gè)動(dòng)物
if (isSafty(there)) {
take();
} else {
String animal = there.get(0);
there.remove(animal);
here.add(animal);
System.out.println("然后把" + animal + "帶回");
// 繼續(xù)帶下一個(gè)動(dòng)物
take();
}
} else if (anim.equals("fish")) {
System.out.print("之后把" + anim + "帶走");
take();
}
}
}
方法二:
import java.util.ArrayList;
import java.util.Random;
/*
* 需求:
* 一位老農(nóng)帶著貓、狗、魚過河,河邊有一條船,每次老農(nóng)只能帶一只動(dòng)物過河。
* 當(dāng)老農(nóng)不和貓狗魚在一起時(shí),狗會(huì)咬貓,貓會(huì)吃魚,當(dāng)老農(nóng)和貓狗魚在一起時(shí),則不會(huì)發(fā)生這種問題。
* 編程解決貓狗魚過河問題。
* 分析:
* 定義貓,狗,魚元素.定義兩岸集合.定義方法判斷不和諧狀況.
* 步驟:
* 1.將貓狗魚抽象為三個(gè)String型變量.將兩岸抽象為兩個(gè)集合.
* 2.定義判斷是否和諧方法.
* */
public class Test10 {
public static void main(String[] args) {
//開始過河.
doTransport();
}
public static void doTransport() {
// 抽象出貓,魚,狗和兩岸.
ArrayListString arr1 = new ArrayListString();
ArrayListString arr2 = new ArrayListString();
arr1.add("魚");
arr1.add("貓");
arr1.add("狗");
// 農(nóng)夫?qū)⒁獢y帶到船上動(dòng)物.(前一字符表示農(nóng)夫當(dāng)前攜帶動(dòng)物,后一字符表示上次農(nóng)夫攜帶的動(dòng)物,為了讓農(nóng)夫不出現(xiàn)重復(fù)拿同一個(gè)動(dòng)物的情況)
System.out.println("農(nóng)夫,貓,魚,狗都在此岸,開始過河.\n");
String[] boat ={"-","-"};
while (arr1.size() 0) {
move(arr1, arr2, boat);
}
System.out.println("\n農(nóng)夫,貓,魚,狗都到達(dá)彼岸.");
}
public static void move(ArrayListString arr1, ArrayListString arr2,String[] boat) {
//農(nóng)夫船上是否有動(dòng)物,有則不需隨機(jī)選擇攜帶.
if (boat[0].equals("-")) {
int one=0;
do{
// 農(nóng)夫從此岸隨機(jī)帶上一個(gè)動(dòng)物.
one = new Random().nextInt(arr1.size());
}while(arr1.get(one).equals(boat[1]));
boat[1]=boat[0];
boat[0] = arr1.get(one);
arr1.remove(one);
}
// 判斷此岸是否和諧
if (ifNice(arr1)) {
// 此岸和諧,農(nóng)夫則將動(dòng)物送去彼岸.
arr2.add(boat[0]);
System.out.println("---農(nóng)夫帶" + boat[0] + "去彼岸 ");
//首先判斷是否將三個(gè)動(dòng)物都放彼岸,是則無需判斷是否和諧.
if(arr2.size()==3){
return;
}
// 判斷彼岸是否和諧.
if (ifNice(arr2)) {
// 彼岸和諧,農(nóng)夫則完成此次運(yùn)送.
boat[1]=boat[0];
boat[0] ="-";
System.out.println(" 農(nóng)夫單獨(dú)回此岸---");
} else {
// 彼岸不和諧,農(nóng)夫則將岸上動(dòng)物與攜帶動(dòng)物交換.送回此岸.
boat[0]=arr2.get(0);
System.out.println(" 農(nóng)夫帶" +boat[0]+ "回此岸---");
arr2.remove(0);
arr1.add(boat[0]);
boat[1]=boat[0];
boat[0]="-";
}
} else {
// 如果此岸不和諧則放回此岸.
arr1.add(boat[0]);
boat[1]=boat[0];
boat[0]="-";
}
}
public static boolean ifNice(ArrayListString arr) {// 判斷是能否共存.
if ((arr.contains("貓") arr.contains("狗"))
|| (arr.contains("魚") arr.contains("貓"))) {
return false;
} else {
return true;
}
}
}