① C語言編程中的問題
1.先學習C語言的基礎知識。現在正在學C語言的在校學生可以直接進入第2步學習。
2.按照《C語言程序設計入門學習六步曲》進行上機練習。
3.在上機練習時要養成良好的編程風格。點擊查看C語言的編程風格
4.積極參加C、C++興趣小組,養成和老師與同學交流習慣,從而相互收益。有時別人不經意的一句話可能使你茅塞頓開--「一句話點醒夢中人」。
5.及時總結自己的學習經驗,養成寫C語言日記的習慣。軟體有編程日記功能。
6.從網上或教材上找一個自己感興趣的題目(選題時根據自己的能力,可先易後難,培養自己的成就感,如果有了成就感,即使再苦再累還是感覺C語言學習是一件快樂的事,同學們喜歡打游戲,經常通宵達旦地玩游戲也樂而不疲就是這個道理)進行實戰訓練,提高自己的C語言綜合應用能力。
7. 由於C語言靈活、強大,初學者要全面地掌握它是不可能的,因此在學習C語言的過程中,不要在細枝末節上浪費精力(比如++、--用於表達式的計算,實際上是沒有意義的),但一定要熟練掌握C語言的流程式控制制語句、數組、函數、指針等基礎知識的應用,為學習面向對象程序設計打下堅實的基礎。如果這些知識你學不好,要後續學習好C++、可視化的程序設計Visual C++或C++Builder就像空中樓閣,是不現實的。
C語言程序設計入門學習六步曲
筆者在從事教學的過程中,聽到同學抱怨最多的一句話是:老師,上課我也能聽懂,書上的例題也能看明白,可是到自己動手做編程時,卻不知道如何下手。發生這種現象的原因有三個:
一、所謂的看懂聽明白,只是很膚淺的語法知識,而我們編寫的程序或軟體是要根據要解決問題的實際需要控製程序的流程,如果你沒有深刻地理解C語言的語句的執行過程(或流程),你怎麼會編寫程序解決這些實際問題呢?
二、用C語言編程解決實際問題,所需要的不僅僅是C語言的編程知識,還需要相關的專業知識。例如,如果你不知道長方形的面積公式,即使C語言學得再好你也編不出求長方形的面積的程序來。
三、C語言程序設計是一門實踐性很強的課程,「紙上談兵」式的光學不練是學不好C語言的。例如,大家都看過精彩自行車雜技表演,假如,你從來沒有騎過自行車,光聽教練講解相關的知識、規則、技巧,不要說上台表演、就是上路你恐怕都不行。
出現問題原因清楚了,那麼如何學習呢?請你看【C語言學習六步曲】
在程序開發的過程中,上機調試程序是一個不可缺少的重要環節。「三分編程七分調試」,說明程序調試的工作量要比編程大得多。這里以如何上機調試C程序來說明C語言的學習方法。
第一步、驗證性練習
在這一步要求按照教材上的程序實例進行原樣輸入,運行一下程序是否正確。在這一步基本掌握C語言編程軟體的使用方法(包括新建、打開、保存、關閉C程序,熟練地輸入、編輯C程序;初步記憶新學章節的知識點、養成良好的C語言編程風格)。
初學者最容易犯的錯誤是:
1、沒有區分開教材上的數字1和字母l,字母o和數字0的區別,造成變數未定義的錯誤。另一個易錯點是將英文狀態下的逗號,分號;括弧()雙引號""輸入出入成中文狀態下的逗號,分號;括弧(),雙引號「」造成非法字元錯誤。
2、C語言初學者易犯語法錯誤:使用未定義的變數、標示符(變數、常量、數組、函數等)不區分大小寫、漏掉「;」、「{」與「}」、「(」與「)」不匹、控制語句(選擇、分支、循環)的格式不正確、調用庫函數卻沒有包含相應的頭文件、調用未C聲明的自定義函數、調用函數時實參與形參不匹配、數組的邊界超界等。
3、修改C語言語法錯誤時要注意以下兩點:
(1)、由於C語言語法比較自由、靈活,因此錯誤信息定位不是特別精確。例如,當提示第10行發生錯誤時,如果在第10行沒有發現錯誤,從第10行開始往前查找錯誤並修改之。
(2)、一條語句錯誤可能會產生若干條錯誤信息只要修改了這條錯誤,其他錯誤會隨之消失。特別提示:一般情況下,第一條錯誤信息最能反映錯誤的位置和類型,所以調試程序時務必根據第一條錯誤信息進行修改,修改後,立即運行程序,如果還有很多錯誤,要一個一個地修改,即,每修改一處錯誤要運行一次程序。
第二步、照葫蘆畫瓢
在第一步輸入的C程序的基礎上進行試驗性的修改,運行一下程序看一看程序結果發生了什麼變化,分析結果變化的原因,加深新學知識點的理解。事實上這和第一步時同步進行的,實現「輸入」加深知識的記憶,「修改」加深對知識的理解。記憶和理解是相輔相成的,相互促進。
例如:將最簡單的Hello World!程序
#include "stdio.h"
int main()
{
printf("Hello World!\n");
return 0;
}
中的
printf("Hello World!\n");
中的Hello World!改成你的姓名,運行一下程序,看有什麼變化?
再如求1+2+3...+100的和的程序
#include <stdio.h>
main()
{
int i,sum=0;
for(i=1;i<=100;i++)
{
sum=sum+i;
}
printf("sum=%d\n",sum);
}
第1次將for(i=1;i<=100;i++)中的100改成50,運行一下程序,看有什麼變化?
第2次將for(i=1;i<=100;i++)中的i++改成i=i+2,運行一下程序,看有什麼變化?
找出程序結果變化的原因,就加深了對C語句的理解。
第三步、不看教材看是否能將前兩步的程序進行正確地輸入並運行。
在這一步要求不看教材,即使程序不能運行,看能否將其改正,使其能正確運行。目的是對前兩步的記憶、理解進一步強化。
第四步、增強程序的調試能力
在教材中每章都有C語言初學者易犯的錯誤,按照易出錯的類型,將教材中的正確的程序改成錯誤的程序,運行一下程序,看出現的錯誤信息提示,並記下錯誤信息,再將程序改成正確的,運行一下程序。這樣反復修改,就能夠學習C語言程序發生錯誤的原因和修改錯誤的能力。
注意:每次只改錯一個地方,目的是顯示發生該錯誤的真正原因,避免一次改動多個地方,搞清發生錯誤的真正原因,切記!!!!
注意:上機調試程序時要帶一個記錄本,記下英文錯誤提示信息和解決該錯誤問題的方法,積累程序調試經驗,避免在編程犯同樣的錯誤,切記!!!!。
例如,將Hello World程序中語句
printf("Hello World!\n");
中的;改成中文的分號;
運行一下程序,看有什麼結果?
調試程序是一種實踐性很強的事,光紙上談兵是是沒用的,就像游泳運動員只聽教練講解示範,而不親自下水練習,是永遠學不會游泳的。
即使在優秀的程序員編寫程序也會犯錯誤的,可能事最低級的語法錯誤,但他能快速發現錯誤並改正錯誤,而我們C語言初學者面對錯誤提示,不知道發生了什麼錯誤,如何改正,這就事差別。
第五步、研究典型的C語言程序,提高程序設計能力
C語言初學者遇到最多的困惑是:上課也能聽懂,書上的例題也能看明白,可是到自己動手做編程時,卻不知道如何下手。發生這種現象的原因是:所謂的看懂聽明白,只是很膚淺的語法知識,而沒有深刻地理解C語言的語句的執行過程(或流程)。
計算機是按照人的指令(編寫的程序)去執行的,如果不知道這些C語句在計算機中是如何執行的,你怎麼回靈活運用這些知識去解決實際問題呢?
解決問題的方法是要先理解C語言各種語句的流程(即計算機是如何執行這些語句的過程),然後研讀現成C語言經典程序,看懂別人事如何解決問題的,以提高自己的程序設計能力。
第六步、研究課程設計源成序,提高C語言的綜合應用能力.
② 學習電腦編程過程中遇到的問題
首先,我想說的是,其實編程能力的高低和英語水平沒有很大的關聯。(如果,是想要做科研,演算法研究等非一般人能完成的偉業,那麼就需要有比較好的英文水平,因為可以讀懂外國最新技術的原著)其次,我個人認為,VB不算是一個好的入門語言。因為它基本上是實現可視化編程,處在一個比較高的位置上,會將許多東西混雜在一起。(比如,函數,事件,消息)對於初學者而言,在一開始還是需要在細節上做做功夫。(比如,變數,常量,表達式,語句)最後,我建議你學習C語言吧。我當初,也是先學的VB然後發現自己什麼都沒有學會。直到後面學習C語言才會編程的。而且,你將來准備去軟體學院,有C語言的基礎會好一些。 就這樣了,祝你成功。
③ 數控車床手工編程中幾個常見問題的處理
隨著數控技術的不斷發展,數控機床的使用量越來越多,尤其在中小型企業和大型企業的修配車間,數控車床單件小批生產的情況也越來越多。而目前這些企業或車間生產零件往往是採用手工編程,刀具也往往是通用硬質合金或高速鋼材料,其耐磨性相對不理想;操作人員在工作過程中大都要進行多次對刀、多次測量,從而多次設定刀補,工作量很大;對於一個零件多次裝夾才能加工完成的,往往要使用多個程序,佔用了系統的內存量;有的數控車床系統指令長時間不用,電器元件老化等原因造成到使用時可能會出現不能用的現象,也影響其使用壽命;編程人員對工件坐標系建立不當,加工質量有時難以得到保證;我在此僅根據自己多年的授課感受和在企業了解的情況,發現了一些關於數控車床編程中常見的幾個問題,並總結出了一點相關規律,現陳述如下。
一、工藝問題
零件加工工藝的合理與否,直接反映和影響其加工質量,也要影響其生產率。不同的零件,其工藝不一樣。例如加工順序問題,如圖所示零件,其基本加工順序應為:
1.夾持右端(夾持長度50mm)車左端?25、?40及倒角達到要求;
2.以?25外圓和?40左端面定位車右端達到要求。
這樣,滿足了基準重合,既容易保證軸向尺寸要求,也容易滿足同軸度要求。
其它工藝問題,這里不再贅述。
二、巧用G50(G92)與M00
靈活和巧妙使用G50(G92)與M00,既可以減少對刀次數,又可以減少程序數量,從而少用系統內存,也提高了生產率 。
如上圖所示零件,車小端對刀端面Z坐標若設定為2(留2mm車端面),當車完後刀具走到(X50 Z37)點(第二對刀點)後使用M00,掉頭可用G50(G92)設對刀點坐標:
G50(G92) X50 Z80
即可按下循環啟動,無需再對刀,節約時間,以提高生產率,且只需一個程序就行了。如果中途不使用 G50(G92)與M00 或其它坐標設定,則需要兩個程序才行。
下面談談第二對刀點Z坐標如何確定:
1.確定第一次裝夾後,車了端面的露出總長度L1
2.確定第二次裝夾厚露出總長度L2
3.計算L=L2-L1+a(a是刀具在對刀點處與工件間的安全距離)
4.第一次裝夾後的坐標系中的Z坐標Z1+L即為第二對刀點在第一次裝夾加工後應移動到的坐標值(Z1:第一對刀點的坐標值)
5.根據第二次裝夾後的基準確定其G50的坐標值,如工件右端面為編程基準,Z為a;如卡盤端面為編程基準,Z為L2+a.,以此類推。
三、編程中基準的問題
編程基準應與設計基準重合,避免出現基準不重合誤差,從而不進行尺寸鏈計算。
如上圖所示零件,車右端應該以?40左端面為軸向(Z坐標)基準,否則除螺紋面和錐面兩個長度尺寸以外,均需要進行尺寸鏈計算,有的尺寸很難達到圖紙要求!
四、編程中絕對坐標與增量坐標的使用問題
合理使用絕對坐標與增量坐標可以在編程中簡化計算和便於保證質量。
如上圖所示零件,螺紋面與錐面的長度尺寸如果採用絕對坐標編程,需要進行尺寸鏈計算,增加了計算工作量,且難達到圖紙要求,採用增量坐標就不需進行尺寸鏈計算了,也很容易達到要求。
五、編程中徑向尺寸的確定
編程中徑向尺寸的確定準確與否,在數控加工的手工編程過程中有著非常重要的意義。一方面影響操作人員的工作量,一方面又要影響生產率。我認為如果採用下述方法確定既可以減少因刀具磨損使操作人員多次進行刀補設定的工作量,又可以提高生產率。
1.如為自由公差,按基本尺寸計算坐標;
2.如有公差,按最小實體尺寸原則計算坐標;
1)外輪廓尺寸,按最小極限尺寸計算;
2)內輪廓尺寸,按最大極限尺寸計算。
六、系統中的指令代碼問題與螺紋加工切入點問題
系統中每一個指令都有其特殊含義,在編程中,應根據加工性質採用合理的加工指令和合理的切入點(特別是螺紋加工的切入點),這對保證加工質量有著很重要的意義,這里就不多說了,下面以一個具體實例說明之。
綜上所述,數控車床在單件小批生產中,只要把工藝解決好、編程基準選擇好、基點坐標計算準確、絕對/增量坐標使用得當、對刀點指令使用靈活,既可以減輕操作人員的工作量,提高生產率,又可以使工件質量容易得到保證;編程時根據加工要求和系統指令特點,合理使用指令,既可以使加工質量容易得到保證,提高生產率,又可以使數控系統中的電器元件在工作中得到保養,提高其使用壽命。
④ 編程遇到的困難問題
你在看別人的代碼的同時,要思考人家為什麼要用這段代碼,同樣的,你也要了解這段代碼有什麼樣的作用,能不能用其他的方法代替。就像樓上說的,同一個程序有多種不同的解決方法,你在敲完代碼的時候要理解為什麼用這樣的方法,還要思考能不能用更簡便的方法。我不知道你的C和C++知識掌握到什麼程度了,不過目前你的狀態就是缺少一種對知識的融會貫通,這個要看每個人的悟性了,多學多做,會慢慢改善你目前的情況的,只是時間長短而已
⑤ 初學編程的人一般會遇到的幾個問題
對於一個初學編程的人來說,首先遇到的問題就是:(1)、在編寫源程序過程中出現的各種語法錯誤。這種錯誤主要是由於剛剛開始學習編程,對編程語言的語句、以及語法結構還不是很清晰造成的,這種錯誤是最容易進行調試的,因為語法錯誤,編譯器連編譯都無法通過;(2)、當對初始編程較為熟練了、且語法錯誤較少了之後,之後就會遇到更為復雜、並且難於調試的語義錯誤。例如在 C 語言中,對於如下代碼:
void main( )
{
int n ;
scanf("%d", &n) ;
if( n == 100)
printf(" n is 100 !\n") ;
else
printf(" n is not 100 !\n") ;
}
在邏輯判斷語句:if( n == 100) 中,如果誤將「==」(邏輯等於)寫成了「=」(賦值等於),那麼在 scanf("%d", &n) 語句中,無論你輸入的 n 等於多少,一旦執行 if 語句,那麼 將 100 這個數字賦給變數 n,則該邏輯表達式的值總是 1,程序的運行結果必定總是輸出:n is 100。
而該程序的實際思路是:從鍵盤輸入一個整數,如果該整數等於 100,則輸出:n is 100 !
如果輸入的整數不等於 100 的話,則輸出:n is not 100 !
像這樣的邏輯錯誤(在編譯源程序時,C 語言編譯器是檢查不出來的),如果沒有豐富的程序調試經驗,程序調試起來就是非常困難的。
所以說,如果想學習編程,必須要勤於上機編輯、調試、運行程序,而不能夠只是在書本上閱讀程序。只有這樣,才能夠在較短的時間內,使自己的編程水平有一個較大的提高。
⑥ 我是一個學編程的學生,在學習的過程,遇到很多的問題,應該怎麼樣解決呢
一把而言使用調試功能逐條執行察看程序中變數的值
與自己預期的值作比較,發現不一樣的就找到了症結之所在
也可以在程序中設print 之類,這樣程序調試更快
慢慢積累,注意容易范錯的位置!
⑦ 在java中常出現的異常和解決方法
1. java.lang.nullpointerexception
這個異常大家肯定都經常遇到,異常的解釋是"程序遇上了空指針",簡單地說就是調用了未經初始化的對象或者是不存在的對象,這個錯誤經常出現在創建圖片,調用數組這些操作中,比如圖片未經初始化,或者圖片創建時的路徑錯誤等等。對數組操作中出現空指針,很多情況下是一些剛開始學習編程的朋友常犯的錯誤,即把數組的初始化和數組元素的初始化混淆起來了。數組的初始化是對數組分配需要的空間,而初始化後的數組,其中的元素並沒有實例化,依然是空的,所以還需要對每個元素都進行初始化(如果要調用的話)
2. java.lang.classnotfoundexception
這個異常是很多原本在jb等開發環境中開發的程序員,把jb下的程序包放在wtk下編譯經常出現的問題,異常的解釋是"指定的類不存在",這里主要考慮一下類的名稱和路徑是否正確即可,如果是在jb下做的程序包,一般都是默認加上package的,所以轉到wtk下後要注意把package的路徑加上。
3. java.lang.arithmeticexception
這個異常的解釋是"數學運算異常",比如程序中出現了除以零這樣的運算就會出這樣的異常,對這種異常,大家就要好好檢查一下自己程序中涉及到數學運算的地方,公式是不是有不妥了。
4. java.lang.
這個異常相信很多朋友也經常遇到過,異常的解釋是"數組下標越界",現在程序中大多都有對數組的操作,因此在調用數組的時候一定要認真檢查,看自己調用的下標是不是超出了數組的范圍,一般來說,顯示(即直接用常數當下標)調用不太容易出這樣的錯,但隱式(即用變數表示下標)調用就經常出錯了,還有一種情況,是程序中定義的數組的長度是通過某些特定方法決定的,不是事先聲明的,這個時候,最好先查看一下數組的length,以免出現這個異常。
5. java.lang.illegalargumentexception
這個異常的解釋是"方法的參數錯誤",很多j2me的類庫中的方法在一些情況下都會引發這樣的錯誤,比如音量調節方法中的音量參數如果寫成負數就會出現這個異常,再比如g.setcolor(int red,int green,int blue)這個方法中的三個值,如果有超過255的也會出現這個異常,因此一旦發現這個異常,我們要做的,就是趕緊去檢查一下方法調用中的參數傳遞是不是出現了錯誤。
6. java.lang.illegalaccessexception
這個異常的解釋是"沒有訪問許可權",當應用程序要調用一個類,但當前的方法即沒有對該類的訪問許可權便會出現這個異常。對程序中用了package的情況下要注意這個異常。
其他還有很多異常,我就不一一列舉了,我要說明的是,一個合格的程序員,需要對程序中常見的問題有相當的了解和相應的解決辦法,否則僅僅停留在寫程序而不會改程序的話,會極大影響到自己的開發的。關於異常的全部說明,在api里都可以查閱。
算術異常類:ArithmeticExecption
空指針異常類:NullPointerException
類型強制轉換異常:ClassCastException
數組負下標異常:NegativeArrayException
數組下標越界異常:
違背安全原則異常:SecturityException
文件已結束異常:EOFException
文件未找到異常:FileNotFoundException
字元串轉換為數字異常:NumberFormatException
操作資料庫異常:SQLException
輸入輸出異常:IOException
方法未找到異常:NoSuchMethodException
java.lang.AbstractMethodError
抽象方法錯誤。當應用試圖調用抽象方法時拋出。
java.lang.AssertionError
斷言錯。用來指示一個斷言失敗的情況。
java.lang.ClassCircularityError
類循環依賴錯誤。在初始化一個類時,若檢測到類之間循環依賴則拋出該異常。
java.lang.ClassFormatError
類格式錯誤。當Java虛擬機試圖從一個文件中讀取Java類,而檢測到該文件的內容不符合類的有效格式時拋出。
java.lang.Error
錯誤。是所有錯誤的基類,用於標識嚴重的程序運行問題。這些問題通常描述一些不應被應用程序捕獲的反常情況。
java.lang.ExceptionInInitializerError
初始化程序錯誤。當執行一個類的靜態初始化程序的過程中,發生了異常時拋出。靜態初始化程序是指直接包含於類中的static語句段。
java.lang.IllegalAccessError
違法訪問錯誤。當一個應用試圖訪問、修改某個類的域(Field)或者調用其方法,但是又違反域或方法的可見性聲明,則拋出該異常。
java.lang.IncompatibleClassChangeError
不兼容的類變化錯誤。當正在執行的方法所依賴的類定義發生了不兼容的改變時,拋出該異常。一般在修改了應用中的某些類的聲明定義而沒有對整個應用重新編譯而直接運行的情況下,容易引發該錯誤。
java.lang.InstantiationError
實例化錯誤。當一個應用試圖通過Java的new操作符構造一個抽象類或者介面時拋出該異常.
java.lang.InternalError
內部錯誤。用於指示Java虛擬機發生了內部錯誤。
java.lang.LinkageError
鏈接錯誤。該錯誤及其所有子類指示某個類依賴於另外一些類,在該類編譯之後,被依賴的類改變了其類定義而沒有重新編譯所有的類,進而引發錯誤的情況。
java.lang.NoClassDefFoundError
未找到類定義錯誤。當Java虛擬機或者類裝載器試圖實例化某個類,而找不到該類的定義時拋出該錯誤。
java.lang.NoSuchFieldError
域不存在錯誤。當應用試圖訪問或者修改某類的某個域,而該類的定義中沒有該域的定義時拋出該錯誤。
java.lang.NoSuchMethodError
方法不存在錯誤。當應用試圖調用某類的某個方法,而該類的定義中沒有該方法的定義時拋出該錯誤。
java.lang.OutOfMemoryError
內存不足錯誤。當可用內存不足以讓Java虛擬機分配給一個對象時拋出該錯誤。
java.lang.StackOverflowError
堆棧溢出錯誤。當一個應用遞歸調用的層次太深而導致堆棧溢出時拋出該錯誤。
java.lang.ThreadDeath
線程結束。當調用Thread類的stop方法時拋出該錯誤,用於指示線程結束。
java.lang.UnknownError
未知錯誤。用於指示Java虛擬機發生了未知嚴重錯誤的情況。
java.lang.UnsatisfiedLinkError
未滿足的鏈接錯誤。當Java虛擬機未找到某個類的聲明為native方法的本機語言定義時拋出。
java.lang.UnsupportedClassVersionError
不支持的類版本錯誤。當Java虛擬機試圖從讀取某個類文件,但是發現該文件的主、次版本號不被當前Java虛擬機支持的時候,拋出該錯誤。
java.lang.VerifyError
驗證錯誤。當驗證器檢測到某個類文件中存在內部不兼容或者安全問題時拋出該錯誤。
java.lang.VirtualMachineError
虛擬機錯誤。用於指示虛擬機被破壞或者繼續執行操作所需的資源不足的情況。
java.lang.ArithmeticException
算術條件異常。譬如:整數除零等。
java.lang.
數組索引越界異常。當對數組的索引值為負數或大於等於數組大小時拋出。
java.lang.ArrayStoreException
數組存儲異常。當向數組中存放非數組聲明類型對象時拋出。
java.lang.ClassCastException
類造型異常。假設有類A和B(A不是B的父類或子類),O是A的實例,那麼當強制將O構造為類B的實例時拋出該異常。該異常經常被稱為強制類型轉換異常。
java.lang.ClassNotFoundException
找不到類異常。當應用試圖根據字元串形式的類名構造類,而在遍歷CLASSPAH之後找不到對應名稱的class文件時,拋出該異常。
java.lang.CloneNotSupportedException
不支持克隆異常。當沒有實現Cloneable介面或者不支持克隆方法時,調用其clone()方法則拋出該異常。
java.lang.
枚舉常量不存在異常。當應用試圖通過名稱和枚舉類型訪問一個枚舉對象,但該枚舉對象並不包含常量時,拋出該異常。
java.lang.Exception
根異常。用以描述應用程序希望捕獲的情況。
java.lang.IllegalAccessException
違法的訪問異常。當應用試圖通過反射方式創建某個類的實例、訪問該類屬性、調用該類方法,而當時又無法訪問類的、屬性的、方法的或構造方法的定義時拋出該異常。
java.lang.IllegalMonitorStateException
違法的監控狀態異常。當某個線程試圖等待一個自己並不擁有的對象(O)的監控器或者通知其他線程等待該對象(O)的監控器時,拋出該異常。
java.lang.IllegalStateException
違法的狀態異常。當在Java環境和應用尚未處於某個方法的合法調用狀態,而調用了該方法時,拋出該異常。
java.lang.IllegalThreadStateException
違法的線程狀態異常。當縣城尚未處於某個方法的合法調用狀態,而調用了該方法時,拋出異常。
java.lang.IndexOutOfBoundsException
索引越界異常。當訪問某個序列的索引值小於0或大於等於序列大小時,拋出該異常。
java.lang.InstantiationException
實例化異常。當試圖通過newInstance()方法創建某個類的實例,而該類是一個抽象類或介面時,拋出該異常。
java.lang.InterruptedException
被中止異常。當某個線程處於長時間的等待、休眠或其他暫停狀態,而此時其他的線程通過Thread的interrupt方法終止該線程時拋出該異常。
java.lang.NegativeArraySizeException
數組大小為負值異常。當使用負數大小值創建數組時拋出該異常。
java.lang.NoSuchFieldException
屬性不存在異常。當訪問某個類的不存在的屬性時拋出該異常。
java.lang.NoSuchMethodException
方法不存在異常。當訪問某個類的不存在的方法時拋出該異常。
java.lang.NullPointerException
空指針異常。當應用試圖在要求使用對象的地方使用了null時,拋出該異常。譬如:調用null對象的實例方法、訪問null對象的屬性、計算null對象的長度、使用throw語句拋出null等等。
java.lang.NumberFormatException
數字格式異常。當試圖將一個String轉換為指定的數字類型,而該字元串確不滿足數字類型要求的格式時,拋出該異常。
java.lang.RuntimeException
運行時異常。是所有Java虛擬機正常操作期間可以被拋出的異常的父類。
java.lang.SecurityException
安全異常。由安全管理器拋出,用於指示違反安全情況的異常。
java.lang.
字元串索引越界異常。當使用索引值訪問某個字元串中的字元,而該索引值小於0或大於等於序列大小時,拋出該異常。
java.lang.TypeNotPresentException
類型不存在異常。當應用試圖
⑧ 關於C語言編程過程中遇到的問題
#include<stdio.h>
char xianshi[4] = {'+','-','*','/'}; /*定義一個存放符號的數組*/
float jisuan(int i, float a, float b)/*完成對a,b之間的i運算*/
{
switch(i)
{
case 0: return a+b;
case 1: return a-b;
case 2: return a*b;
case 3: return a/b;//此處b不為0的情況未處理
}
}
int shuch(int a,int b,int c,int d) /*完成對四個數字的運算,並且把結果輸出*/
{
int i,j,k,shuchu[4],zhongjian1,zhongjian2;
double zhongjian3;
shuchu[0]=a;shuchu[1]=b;shuchu[2]=c;shuchu[3]=d;
for(i=0;i<=3;i++)
{
zhongjian1=jisuan(i,shuchu[0],shuchu[1]);
for(j=0;j<=3;j++)
{
zhongjian2=jisuan(j,zhongjian1,shuchu[2]);
for(k=0;k<=3;k++)
{
zhongjian3=jisuan(k,zhongjian2,shuchu[3]);
printf("%d %c %d %c %d %c %d=%f\n",shuchu[0],xianshi[i],shuchu[1],xianshi[j],
shuchu[2],xianshi[k],shuchu[3],zhongjian3);
}
}
}
return 0;
}
main ()
{int js=0;
//這一段實現對四個數字的12種排列
js=js+1;
int shuru[] = {5,2,5,3};
shuch(shuru[0],shuru[1],shuru[2],shuru[3]);/*調用函數*/
//這一段實現對最後兩個數字的交換
js=js+1;//同上一樣,調用函數
printf("%d\n",js);
}
我還是未能完全明白你的意思,我大致猜測了你的意圖,修改了一下程序,但並沒有發現js有何異常,希望能對你起到一定幫助
⑨ c語言編程方面的問題應該如何解決
1、學習方法:基本掌握面向過程程序設計的基本思路和方法。
2、達到熟練掌握C語言的基本知識和技能。
3、能夠利用所學的基本知識和技能,解決簡單的程序設計問題。