本文目錄一覽:
- 1、Java循環判斷邏輯問題
- 2、java邏輯題
- 3、JAVA編程的邏輯題,大神幫下!謝謝
- 4、JAVA邏輯運算問題
- 5、使用java語言理解程序邏輯?
- 6、JAVA邏輯題 1-1000輸出個位和十位和千位不含7的數
Java循環判斷邏輯問題
boolean flag=false;
if(alist!=null alist.size()!=0){
for(int i=0;ialist.size();i++){
A a=(A)alist.get(i);
int m=a.getB();
if(m!=3){
flag=true;
if(m==1){
resp.sendRedirect(“you1.htm”);
break;
}else if(m==2){
resp.sendRedirect(“you1.htm”);
break;
}
}
}
if(!flag) resp.sendRedirect(“no.htm”);
}
else{resp.sendRedirect(“no.htm”);}
java邏輯題
先回答你的問題:while(a.size()1)是因為要循環有個結束的條件,這個條件就是list中的人數就只剩一個人時結束循環!2,3都沒有意義,因為沒做完!
樓主可以用下面的方法,我剛做的,有注釋!最後結果為436!如果不懂,可以再問我!
public class RenShu {
public static void main(String[] args) {
int peop = 500;//有500個人
boolean[] brr = new boolean[peop];//聲明一個500個元素的Boolean數組
Arrays.fill(brr, true);//默認都為true
int count=0;//報數號
int remain=peop;//剩下的人數
int index=0;//數組下標號
while(remain!=1){//剩下人不是一個時繼續
if(brr[index]){//該元素為false時不計數
count++;//計數
if(count%3==0){//計數為3時做以下三件事
brr[index]=false;//將該元素值改為false,為了標誌他被淘汰,不參加報數
remain–;//剩下的人數減一
count=0;//計數清零,重新報數
}
}
index++;//數組下標增加
if(index==peop){
index=0;//如果數組下標和人數相等,即一個循環結束,應重新開始
}
}
for(int i=0;ibrr.length;i++){
if(brr[i]){
System.out.println(i+1);//最後打印那個唯一的true的下標值,因為數組從0開始,所以要加1
}
}
}
}
JAVA編程的邏輯題,大神幫下!謝謝
方法一:
import java.util.ArrayList;
import java.util.List;
public class test10 {
// 解題思路:先帶走貓,後帶走狗,再把貓帶回,把魚帶過去,最後再把貓帶過去即可
// 定義兩個集合,存放,帶過去的動物,和剩下的動物
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();
}
// 判斷動物是否安全
public boolean isSafty(ListString list) {
// 如果一個集合中同時出現了貓和狗,貓和魚的都認為不安全
if (list.add(“dog”) list.add(“cat”) || list.add(“cat”)
list.add(“fish”)) {
return false;
}
return true;
}
public void take() {
// 得到要帶走的動物
String anim = here.get(0);
// 從剩下的集合中刪除
here.remove(here.get(0));
if (anim.equals(“cat”)) {
// 添加到以帶過去的集合裏面
there.add(anim);
// 繼續帶下一個動物
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 + “帶走”);
// 判斷是否安全,之後繼續帶下一個動物
if (isSafty(there)) {
take();
} else {
String animal = there.get(0);
there.remove(animal);
here.add(animal);
System.out.println(“然後把” + animal + “帶回”);
// 繼續帶下一個動物
take();
}
} else if (anim.equals(“fish”)) {
System.out.print(“之後把” + anim + “帶走”);
take();
}
}
}
方法二:
import java.util.ArrayList;
import java.util.Random;
/*
* 需求:
* 一位老農帶着貓、狗、魚過河,河邊有一條船,每次老農只能帶一隻動物過河。
* 當老農不和貓狗魚在一起時,狗會咬貓,貓會吃魚,當老農和貓狗魚在一起時,則不會發生這種問題。
* 編程解決貓狗魚過河問題。
* 分析:
* 定義貓,狗,魚元素.定義兩岸集合.定義方法判斷不和諧狀況.
* 步驟:
* 1.將貓狗魚抽象為三個String型變量.將兩岸抽象為兩個集合.
* 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(“狗”);
// 農夫將要攜帶到船上動物.(前一字符表示農夫當前攜帶動物,後一字符表示上次農夫攜帶的動物,為了讓農夫不出現重複拿同一個動物的情況)
System.out.println(“農夫,貓,魚,狗都在此岸,開始過河.\n”);
String[] boat ={“-“,”-“};
while (arr1.size() 0) {
move(arr1, arr2, boat);
}
System.out.println(“\n農夫,貓,魚,狗都到達彼岸.”);
}
public static void move(ArrayListString arr1, ArrayListString arr2,String[] boat) {
//農夫船上是否有動物,有則不需隨機選擇攜帶.
if (boat[0].equals(“-“)) {
int one=0;
do{
// 農夫從此岸隨機帶上一個動物.
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)) {
// 此岸和諧,農夫則將動物送去彼岸.
arr2.add(boat[0]);
System.out.println(“—農夫帶” + boat[0] + “去彼岸 “);
//首先判斷是否將三個動物都放彼岸,是則無需判斷是否和諧.
if(arr2.size()==3){
return;
}
// 判斷彼岸是否和諧.
if (ifNice(arr2)) {
// 彼岸和諧,農夫則完成此次運送.
boat[1]=boat[0];
boat[0] =”-“;
System.out.println(” 農夫單獨回此岸—“);
} else {
// 彼岸不和諧,農夫則將岸上動物與攜帶動物交換.送回此岸.
boat[0]=arr2.get(0);
System.out.println(” 農夫帶” +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;
}
}
}
JAVA邏輯運算問題
for (int n1 = 1; n1 20; n1++) {
for (int n2 = 1; n2 20; n2++) {
for (int n3 = 1; n3 20; n3++) {
for (int n4 = 1; n4 20; n4++) {
if((n1 + n2 + n3)!=22)
continue;
if((n2 + n3 + n4)!=24)
continue;
if((n3 + n4 + n1)!=27)
continue;
if((n4 + n1 + n2)!=20)
continue;
System.out.println(n1 + ” ” + n2 + ” ” + n3 + ” ” + n4);
}
}
}
}
使用java語言理解程序邏輯?
正確答案:AC。
【解析】這個題目考察了方法的返回值類型及return關鍵字的使用。一般情況下,方法由返回值時才使用return語句。且return語句中表達式的類型一定與方法的返回值類型保持一致。根據這個原則解析如下:
A:方法的返回值是String類型,return語句中表達式也是String,二者相符,故正確。
B:方法的返回值是void,即方法沒有返回值(或返回值為空),可以不需要return語句,而且return語句中表達式是String,二者不符,故錯誤。
C:方法的返回值是String類型,return語句中表達式也是String,二者相符,故正確。
D:方法的返回值是int類型,而return語句中表達式是String,二者不符,故錯誤。
綜上所述,爭取答案為AC。
JAVA邏輯題 1-1000輸出個位和十位和千位不含7的數
int i,j,k,l;
for(l=1;l10;l++) System.out.println(l);
for(k=1;k7;k++)
for(l=0;l10;l++) System.out.println(k+””+l);
for(k=8;k10;k++)
for(l=0;l10;l++) System.out.println(k+””+l);
for(j=1;j10;j++){
for(k=0;k7;k++)
for(l=0;l10;l++) System.out.println(j+””+k+””+l);
for(k=8;k10;k++)
for(l=0;l10;l++) System.out.println(j+””+k+””+l);
}
System.out.println(1000);多一點代碼還是可以的。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/200144.html