20162329張旭升 實驗一:實驗報告


實驗報告

課程:程序設計與數據結構
班級: 1623
姓名: 張旭升
學號:20162329
指導教師:婁嘉鵬 王志強
實驗日期:3月25日

實驗密級: 非密級
預習程度: 已預習

必修/選修: 必修
實驗序號: cs_29

實驗名稱: Java開發環境的熟悉(IDEA)

實驗目的與要求:

使用IDEA編譯、運行簡單的Java程序;
使用Eclipse編輯、編譯、運行、調試Java程序。

實驗內容

  • Java開發環境的熟悉(Windows下的bash)
  • 實驗練習:實現求正整數1—n之間所有質數的功能,並進行測試。

實驗過程

  • 練習程序的編輯:
   Scanner scan = new Scanner(System.in);

System.out.print("How many numbers do you need to filter: ");
int A = scan.nextInt();

int number[] = new int[A];

for (int B = 0; B < A ; B++)
{
number[B] = B + 1;
if (number[B] <= 3)
{
System.out.print(number[B] + "\t");
C = C + 1;
}
else
if ( number[B] == 5)
{
System.out.print(number[B] + "\t");
C = C + 1;
}
else
if (number[B] == 7){
System.out.print(number[B] + "\t");
C = C + 1;}
else
if (number[B] == 11){
System.out.print(number[B] + "\t");
C = C + 1;}
else
if (number[B] == 13){
System.out.print(number[B] + "\t");
C = C + 1;}
else
if ( number[B] % 2 == 0 ||
number[B] % 3 == 0 ||
number[B] % 5 == 0 ||
number[B] % 7 == 0 ||
number[B] % 11 == 0 ||
number[B] % 13 == 0 )
F = 1;
else
{
System.out.print(number[B] + "\t");
C = C + 1;
}
if (F == 1)
F++;
else
if (C % D == 0)
System.out.println();
}
System.out.println();

  • 練習程序的JDB調試:每次調試設置斷點是沒有問題的,但是只要輸入"run"就會出現此種情況。

實驗中遇到的問題

  • 問題:

我本想使篩選出的質數每行打印5個數,首先我設置了一個變量C的初值為0和一個常量D=5,然后在每次會打印一個質數的位置后加入一個C++,然后在for語句的第一個if嵌套語句后又加了一個if語句
{ if(C % D == 0)
System.out.println();}
運行之后發現有時打印5個數后不止會空出一行。

  • 解決辦法:

檢查代碼,判斷運行過程,整理思路,發現在每次打印一個質數時會使C+1是沒有問題的,之后的條件判斷也是沒有問題的,但是問題出在所打印的數並不是連續的,當該數是質數時C會加一,但是當該數不是質數時C是不變的就導致當C=5時判斷的下一個數卻不是個質數時就會多空出一行。然后我又加了一個嵌套才實現了我想要的結果。

實驗不足

實驗程序中的不足在於不能在用戶輸入一個極大的整數時繼續加以判斷,此程序也只能判斷1——169之間的質數如果有再大的質數出現就會被濾掉,如果想繼續擴大可篩選范圍還需要繼續在其中加入條件。

實驗心得

Java編程環境

對於Java編程環境的熟悉其實在幾周的學習中已經有很大的進步了,如在Windows下想要運行Java程序就必須配置環境變量,如果只是運行Java程序的話只需要安裝jre就可以了,但是想要做Java編程的話就要安裝jdk,而我使用的是Windows命令行下安裝bash來進行Java程序開發的,bash下不好的地方就在於沒有中文解釋對我這種英語很差的人來說還是很艱難的。

練習程序的設計

在本次實驗程序設計中我耗費了大量的時間,編輯的語法錯誤已經極少了,出錯多的還是在相關邏輯運算中的錯誤,但是由於JDB調試總是出現問題,導致自己調試代碼會浪費很多的時間,在本次實驗后還要加強JDB調試的相關學習。


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2020 ITdaan.com