我正在爲我的高中組合編寫一個實驗。 SCI。類。該程序的目標是從一個文件中讀取數據,每次一個整數並打印一個倒三角形。在java中的do-while循環中嵌入for循環的問題
的數據是與一個txt文件:3 3 7 4(在該文件中的數據被垂直地3在頂部佈置,但我不能格式化這裏出於某種原因)
我再變所述.txt
擴展.dat
它應該打印與頂部行是3和具有1個以下星號的每個連續行倒三角形(再次,我不能找出如何格式化此。我想和它沒有工作)。如果int是3,那麼最上面的一行是3,如果int是7,那麼最上面的一行是7等等。
我陷入嵌套的for-loop,雖然我有我的遞減運算符,最終應該得到循環終止,但它不。你會看到總的怪異。
public class Triangle2_PR31
{
public static void main(String[] args) throws IOException
{
Scanner triScan = new Scanner(new File("pr31.dat"));//reads file
int a = triScan.nextInt();
System.out.println(a);//prints number for verification
int b;//instantiate
do
{
//a = triScan.nextInt();
for(int x = 1; x<=a; x--)//main for-loop
{
for(b = a; b>=0; b--)//nested for-loop to print asterisks
{
System.out.print("*");
System.out.println(b);//print to see what happened to b
}
System.out.println(b);//print to see if loops gets out here
a--;//decrease a so loop eventually terminates
//Doesnt get out here
}
}
while(triScan.hasNext());
triScan.close();
}
}
當編譯器獲取到SOP(b);
線嵌套for循環中,事情會一路到負50000我手動終止程序之前,我讓他去約200,000一次樂趣。我不明白爲什麼它不會簡單地終止。我盯着日食10分鐘嘗試各種不同的東西,但我不知道什麼是錯的。
你的第一個for循環應該是x ++的初學者 – Revive 2014-10-28 00:58:42
true。我沒有注意到這一點。我知道這將是我面前的事情。在我發佈這個問題後大約一個小時,我正在處理這個問題,但沒有注意到我有錯誤的操作符。 – Ungeheuer 2014-10-28 02:39:41