J2SE關於for迴圈的問題

2025-02-08 15:45:13 字數 4289 閱讀 8867

1樓:

樓上的這句很精闢了「a+b+c=25,都是一位自然數,就是隻能是1到9,兩個數都是9的話,才18,另乙個數要7以上才達標,那就讓迴圈從7開始貝」

這個還有乙個小技巧可以用,不過因為用了樓上方法後迴圈次數已經很少了,這裡顯示不出明顯效果。不過在迴圈次數仍很多的時候會很有用:

799和997是一樣的,所以我們可以讓內層迴圈從外層迴圈的「當前值」開始。for(int a=7;a<10;a++)

這樣在我們得到799這樣的答案後就不會再去測試 977-987這些數值了。如果題目強調順序的重要性,那我們拿到乙個3為數,以799為例,做一次排列的代價也要比多次迴圈小得多。

前面說了,這個方法的效果在這個題目裡可能不是特別明顯,針對這個題,可以在樓上的方法上再改進一點。我們直到888不滿足答案,換句話說答案裡必須要有「9」,又直到779也不滿足答案,所以答案裡有至少1個「9」的前提下,剩下的2位裡有一位至少要大於等於「8」。

所以三層迴圈分別從a=7,b=8,c=9開始迴圈。

2樓:網友

你可以稍微分析下題目嘛。

a+b+c=25,都是一位自然數,就是隻能是1到9,兩個數都是9的話,才18,另乙個數要7以上才達標,那就讓迴圈從7開始貝,能大幅減少迴圈次數。

public static void main(string args)

for(int a=7;a<10;a++)for(int b=7;b<10;b++)for(int c=7;c<10;c++)if(a+b+c==25) /x1

a="+a+"b="+b+"c="+c);

for迴圈題目

3樓:網友

列印幾行、每行輸出幾個星號與迴圈結束條件相關(假設迴圈變數初始值均為0)。

for(a=1;a<5;a++)//4次迴圈,每次輸出一行,a=1,2,3,4

for(b=0;b首先,你需要5行輸出,那麼請替換for(a=1;a<5;a++)為for(a=0;a<5;a++)

其次,你需要每行輸出的星號個數為5,4,3,2,1可替換for(b=0;b整個程式為:

int a,b;

for ( a=0;a<5;a++ //a=0,1,2,3,4

for ( b=0;b<5-a;b++ printf("*"); //5-a=5,4,3,2,1

printf("");

關於for迴圈的疑問?

4樓:範斌

樓主的想法沒有錯。在for迴圈內定義變數,該變數屬於區域性變數,他的有效作用域只能在for迴圈的花括號內。從「{」開始,到「}」結束,因此每次開始迴圈變數a被建立和賦值。

但噹噹次的迴圈結束準備開始下一次迴圈時,變數a在記憶體中就會被銷燬。因此樓主的for迴圈內的變數a一直處於「被建立賦值」--被銷燬---再建立賦值」--"再銷燬"。。。的迴圈中。

樓主可以簡單做個試驗。

for (int i = 0; i < 5; i++)//這句將會報錯,會顯示找不到變數a的資訊。因為上面for迴圈的a離 開for 迴圈的花括號後會被銷燬。

5樓:

你當然可以直接寫多個printf()來列印出陣列a中的所有數值,但你不覺得累麼?要是不是a[2][3],而是a[200][300]你打算使用60000個printf()來列印出所有數值麼?

6樓:歸玉珂

沒有為什麼,沒看出矩陣b的作用。

for迴圈問題

7樓:網友

是的,逗號表示式,依次執行,先執行i++,再執行j++,因此若第一次迴圈是i=0並且j=0,則當條件表示式為真,使得迴圈體執行後,就執行i++,j++ 之後i=1,j=1

8樓:庾簫吟

內迴圈填滿外迴圈的每一行?

你這個迴圈的結果到資料庫中有問題?

這是個grid ,這一行內的checkboxlist的值每次迴圈grid行下遍歷checkboxlist的值 修改到資料庫中。是否這意思?

關於for迴圈的問題

9樓:網友

j 、k、i、都是在 變化的 從外層迴圈網內層迴圈說,i會被賦值6次,第一次 i被初始化為1(初始化只有一次),條件判斷1是否小於等於5,條件成立,執行迴圈體(括號內語句),執行完成之後做++運算,然後第二次判斷2是否小於等於5,條件成立,繼續,++第三次,3是否小於等於5,條件成立,繼續,++第四次,4《=5,成立,繼續,++第五次,5《=5,成立,繼續,++第六次,6》5,不成立,退出迴圈,不執行迴圈體語句,向後繼續執行**,所以,i,總共被賦值6次,迴圈體被執行了5次,他上面解釋的是 外層for的迴圈體的執**況,說的「第1次j=1」所說的 是 進入 j迴圈式 j的初始值, 那個「第幾次」是說的第幾次進入 外層迴圈i的迴圈體。

然後內層迴圈 兩個並列,j、k,會在 i 被++的時候 初始化 5次。他們各自的迴圈次數 得看條件表示式的右值。

最後再總結一下,這個是個 輸出等腰三角形的**,i控制 行數,j控制 從左邊第幾列開始列印,k控制每行列印幾個*,他的註釋沒錯,就是對於新手容易產生歧義,**也沒錯。謝謝。

10樓:網友

你理解錯了, 比如第一次(j=1,j小於等於4)合起來看, 是說乙個範圍。

請問:這個for迴圈有什麼問題麼

11樓:k斐狗

"content").item(0).text = "0"else�0�"content").

item(0).text = jsurldecode("content"))end ifexit forend ifnext其中,這個的目的是為了檢查xml檔案中,與節點相同父節點下的節點的內容是否為空,如果是空的話,就讓這個內容為「0」,如果不是空那就等於js傳過來的content變數,判斷這個的目的是我發現js讀取xml中,如果某個節點的內容是空的話,那麼js就不能獲取到相應的節點,firefox提示相應的節點undefined,然後整個程式就無法開啟了,所以,只能在asp頁面加入判斷,語法上貌似應該沒問題,但是實際不起作用,請各位幫忙分析分析那裡出錯了,多謝。

1之後我又試了下這個,vbscript code id =trim("id")) id =replace(id, "'", "'") set node = "//node[./id/text()='"& id &"']/content") ifnot (node isnothing) thenif =""then ="0"else = jsurldecode("content")) endifendif2011-07-23 01:18 推薦:

0 次 有幫助? 請推薦。

c# for的迴圈疑問

12樓:網友

兩個功能差不多,不過你的for迴圈有問題:

1. 條件應為:j>=0;

為最小值不會自動減1,如果要自減1就應為:shuzu[19]=50,再用減迴圈就ok了。

1shuzu[19]=50;

for(int j=19;j>=0;j--)2shuzu[0]=50;

for(int j=1;j<=19;j++)

13樓:網友

第二個寫錯啦。

shuzu[19]=50;

for(int j=18;j>=0;j--)首先你要把賦值語句放在for迴圈上面。

其次你的for迴圈是由大變小的。那第乙個shuzu[19]=shuzu[18]肯定還是等於20啊。

14樓:xyq情調

第二個修改為:

shuzu[19]=50;

for(int i=19;i<=0;i--)就ok了。

15樓:max注

肯定功能不一樣。

第一種是:最後是依次給陣列賦值,最後的 結果都是50.第二種中,迴圈一開始就不成立(j<1),就退出了迴圈,所以只對shuzu[0]賦了值,也就只有shuzu[0]=50.

16樓:網友

仔細看了下,第二個條件寫錯了,j<1改成(j>=1或者j>0)

為什麼for迴圈只迴圈了一次?(題中標出的那個for迴圈)

17樓:網友

do while(i<=a);

這一句讓你的i在第一次迴圈裡面就自加到a了,所以下一次迴圈的時候判斷你的i>a,不會繼續迴圈。

18樓:闊氣剋剋

迴圈幾次要看你a輸入的是幾呀?你是怎麼判斷它只迴圈了一次的?

高分懸賞關於美國j1簽證的問題標註

意思是j1的身份不能轉換成其他的身份,象f1等。明年能還再到美國看你的派出單位能否豁免你的回國服務義務,因為根據j專案中美國雙方的協議,j1身份的人回國後都需要為派出單位服務二年。not subj to 就是不需要去完成,那條件對你不起作用。你不受212 e 條款的約束的意思 一些j簽證的交流訪問者...

關於三羧酸迴圈的問題,乙醯COA進入三羧酸迴圈後只能被氧化

以下文字請自己找分子式對應。根據沈同和王鏡巖主編的 生物化學 第二版下 抱歉,較新的第三版我沒找到,不過應該差不多 的敘述,首先在丙酮酸形成乙醯 coa的過程中,甲基是保留的,同樣還在甲基位置。然後在合成檸檬酸時,其形成檸檬酸的第二位上的亞甲基。雖然這個分子是一個對稱分子,但是在其向 酮戊二酸的轉變...

VBA程式設計中關於工作表自動迴圈執行的問題

解0人 簡單問題被你搞複雜了吧?sub 工作表 dim x,y,z z worksheets.count for x 1 to z if worksheets x name 某某 then 不是某某 時才執行下面,否則就不執行嘛 操作end if next end sub dim x y as wo...