常見面試以及答案(二)

本文章轉(zhuǎn)載于搜狗測試

1寇蚊、.junit需要注意什么?什么時候用before什么時候用beforeClass Before注釋指示此方法必須在類中的每個測試之前執(zhí)行鲫骗,以便執(zhí)行測試所需的一些前提條件。

BeforeClass注釋指示所附加的靜態(tài)方法必須在類中的所有測試之前執(zhí)行一次。當測試方法共享計算expensive的設(shè)置(例如連接到數(shù)據(jù)庫)時倒源,會發(fā)生這種情況。

2句狼、有兩個字符串str1笋熬,str2,判斷str2是否在str1中腻菇,有的話有幾次胳螟?位置分別在什么地方昔馋?

3、linux 查詢一個log日志中前10行的命令 查詢一個log日志后10行的命令 查詢一個log中關(guān)鍵字error出現(xiàn)的次數(shù)糖耸,分別在哪一行 查詢當前運行java的進程 遠程拷貝的命令

前n行秘遏,head-n(行數(shù)) ***.log

后n行,tail-n(行數(shù)) ***.log

查看error?在log中的哪些行出現(xiàn)蔬捷,grep –rb "error" ***.log

查看error?在log中的出現(xiàn)次數(shù)垄提,grep –rb "error" ***.log -c

查看當前運行的java進程,ps -ef |grep java

遠程拷貝周拐,linux->linux:scp ***.conf

10.1.1.1:/search/odin/test/new.conf

Linux->windows,sz ***.conf

4铡俐、輸入一個矩陣,按照從外向里的順序依次打印出每一個數(shù)字妥粟。

例如审丘,輸入: ?12? ? ?3? ? ? ?4

5? ? ?6? ???7? ??? ?8

9? ? 10? ? 11? ? 12

13? ? 14? ? 15? ? 16

則依次打印出數(shù)字:1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10

算法分析:

假設(shè)這個矩陣的行數(shù)是rows,列數(shù)是columns,打印第一圈的左上角坐標是(0,0)勾给,第二圈左上角的坐標是(1,1)滩报,依次類推。我們注意到播急,左上角的坐標中行標和列標總是相等的脓钾,于是可以在矩陣中選取左上角為(start,start)的一圈作為我們分析的目標。

對于一個5X5的矩陣桩警,最后一圈只有一個數(shù)字可训,對應(yīng)的坐標為(2,2)。我們發(fā)現(xiàn)5>2x2.對于一個6X6的矩陣捶枢,最后一圈有4個數(shù)字握截,其左上角的坐標仍然是(2,2)。我們發(fā)現(xiàn)6>2x2依然成立烂叔。于是我們可以得出谨胞,讓循環(huán)的條件是columns>startX*2并且rows >startY*2.所以我們可以用如下循環(huán)來打印矩陣:

publicvoidPrintMatrixClockwisely(int[][]numbers,intcolumns,introws){

System.out.println("順時針打印的矩陣為:");

if(numbers==null||columns<=?0?||rows<=0)

return;

intstart=?0;

while(columns>start*2?&&rows>start*2){

PrintMatrixInCircle(numbers,columns,rows,start);

++start;

}

}

接著我們考慮如何打印矩陣的一圈的功能。我們可以把打印一圈分為四步:

第一步:從左到右打印一行

第二步:從上到下打印一列

第三步:從右到左打印一行

第四步:從下到上打印一列

每一步我們根據(jù)起始坐標和終止坐標用一個循環(huán)就能打印出一行或者一列蒜鸡。但仍需仔細分析打印每一步的前提條件胯努。第一步總是需要的,因為打印一圈至少需要有一步逢防;如果只有一行叶沛,那么就不需要第二步了,也就是說需要第二步的前提條件是終止行號大于起始行號胞四,需要第三步的前提條件是圈內(nèi)至少有兩行兩列恬汁,也就是說除了要求終止行號大于起始行號之外,還要求終止列號大于起始列號,同理氓侧,需要打印第四步的前提條件是至少有三行兩列脊另,因此要求終止行號比起始行號至少大2,同時終止列號大于起始列號约巷。

問題分析:

如何從鍵盤輸入一個二維矩陣:

首先需要輸入矩陣的行數(shù)和列數(shù)偎痛,即通過introws=scanner.nextInt(); 和intcolumns=scanner.nextInt();來定義輸入矩陣的行數(shù)和列數(shù);

其次独郎,定義一個二維矩陣踩麦,并用空格的方式輸入:

int[][]array=newint[rows][columns];

for(inti=?0;i

for(intj=?0;j

array[i][j]?=scanner.nextInt();

}

}

源程序:

[java]view plaincopy

/**************************************************************

*?Copyright?(c)?2016,

*?All?rights?reserved.

*?版?本?號:v1.0

*?題目描述:調(diào)整數(shù)組順序使奇數(shù)位于偶數(shù)前面

*??????????????題目:輸入一個整數(shù)數(shù)組,實現(xiàn)一個函數(shù)來調(diào)整該數(shù)組中數(shù)字的順序氓癌,使得所有奇數(shù)位于數(shù)組的前半部分谓谦,所有偶數(shù)位于數(shù)組的后半部分

*?輸入描述:請輸入矩陣的行數(shù)

*???????????4

*???????????請輸入矩陣的列數(shù):

*???????????5

*???????????請輸入一個矩陣,以空格隔開:

*???????????1?3?9?7?5?2?8?6?1?4?3?7?2?1?9?4?6?5?2?3

*?程序輸出:?輸入的矩陣為:

*???????????1,3,9,7,5,

*???????????2,8,6,1,4,

*???????????3,7,2,1,9,

*???????????4,6,5,2,3,

*???????????順時針打印的矩陣為:

*???????????1,3,9,7,5,4,9,3,2,5,6,4,3,2,8,6,1,1,2,7,

*?問題分析:?1.從鍵盤輸入一個矩陣

*???????????方法:首先要輸入矩陣的行數(shù)和列數(shù)贪婉,int?rows?=?scanner.nextInt();

*?????????????????然后定義一個二維矩陣反粥,并用空格的方式輸入:

*???????????????for(int?i?=?0;i?<?rows;?i++){

for(int?j?=?0;?j?<?columns;?j++){

array[i][j]?=?scanner.nextInt();

}

}

*

*?算法描述:

*?完成日期:2016-08-22

***************************************************************/

packageorg.marsguo.offerproject20;

importjava.util.Scanner;

classPrintMatrix{

/*打印矩陣函數(shù),通過遞歸調(diào)用來循環(huán)打印出矩陣的每一圈*/

publicvoidPrintMatrixClockwisely(int[][]?numbers,intcolumns,introws){

System.out.println("順時針打印的矩陣為:");

if(numbers?==null||?columns?<=0||?rows?<=0)

return;

intstart?=0;

while(columns?>?start*2&&?rows?>start*2){

PrintMatrixInCircle(numbers,?columns,?rows,start);

++start;

}

}

/*打印矩陣每一圈函數(shù)*/

publicvoidPrintMatrixInCircle(int[][]?numbers,intcolumns?,introws,intstart){

intendX?=?columns-1-start;

intendY?=?rows-1-start;

for(inti?=?start;i<=endX;++i){

intnumber?=?numbers[start][i];

printNumber(number);

}

if(start?<?endY){

for(inti?=?start?+1;?i?<=?endY;?++i){

intnumber?=?numbers[i][endX];

printNumber(number);

}

}

if(start?<?endX?&&start?

for(inti?=?endX?-1;i?>=?start;--i){

intnumber?=?numbers[endY][i];

printNumber(number);

}

}

if(start?<?endX?&&?start?<?endY?-1){

for(inti?=?endY-1;i?>=?start?+1;--i){

intnumber?=?numbers[i][start];

printNumber(number);

}

}

}

publicvoidprintNumber(intnumber){

System.out.print(number?+",");

}

}

publicclassPrintMatrixCircle?{

publicstaticvoidmain(String[]?args){

Scanner?scanner?=newScanner(System.in);

/*??從鍵盤輸入一個二維矩陣的方法:*/

System.out.println("請輸入矩陣的行數(shù)");

introws?=?scanner.nextInt();

System.out.println("請輸入矩陣的列數(shù):");

intcolumns?=?scanner.nextInt();

System.out.println("請輸入一個矩陣疲迂,以空格隔開:");

int[][]?array?=newint[rows][columns];

for(inti?=0;i?<?rows;?i++){

for(intj?=0;?j?<?columns;?j++){

array[i][j]?=?scanner.nextInt();

}

}

System.out.println("輸入的矩陣為:");

for(inti?=0;i?<?rows;?i++){

for(intj?=0;?j?<?columns;?j++){

System.out.print(array[i][j]?+",");

}

System.out.println();

}

PrintMatrix?printmatrix?=newPrintMatrix();

printmatrix.PrintMatrixClockwisely(array,?columns,?rows);

}

}

程序輸出:

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末才顿,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子尤蒿,更是在濱河造成了極大的恐慌郑气,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,807評論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件腰池,死亡現(xiàn)場離奇詭異尾组,居然都是意外死亡,警方通過查閱死者的電腦和手機巩螃,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,284評論 3 399
  • 文/潘曉璐 我一進店門演怎,熙熙樓的掌柜王于貴愁眉苦臉地迎上來匕争,“玉大人避乏,你說我怎么就攤上這事「噬#” “怎么了拍皮?”我有些...
    開封第一講書人閱讀 169,589評論 0 363
  • 文/不壞的土叔 我叫張陵壶栋,是天一觀的道長菱鸥。 經(jīng)常有香客問我,道長羹与,這世上最難降的妖魔是什么德谅? 我笑而不...
    開封第一講書人閱讀 60,188評論 1 300
  • 正文 為了忘掉前任爹橱,我火速辦了婚禮,結(jié)果婚禮上窄做,老公的妹妹穿的比我還像新娘愧驱。我一直安慰自己慰技,他們只是感情好,可當我...
    茶點故事閱讀 69,185評論 6 398
  • 文/花漫 我一把揭開白布组砚。 她就那樣靜靜地躺著吻商,像睡著了一般。 火紅的嫁衣襯著肌膚如雪糟红。 梳的紋絲不亂的頭發(fā)上艾帐,一...
    開封第一講書人閱讀 52,785評論 1 314
  • 那天,我揣著相機與錄音盆偿,去河邊找鬼柒爸。 笑死,一個胖子當著我的面吹牛事扭,可吹牛的內(nèi)容都是我干的揍鸟。 我是一名探鬼主播,決...
    沈念sama閱讀 41,220評論 3 423
  • 文/蒼蘭香墨 我猛地睜開眼句旱,長吁一口氣:“原來是場噩夢啊……” “哼阳藻!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起谈撒,我...
    開封第一講書人閱讀 40,167評論 0 277
  • 序言:老撾萬榮一對情侶失蹤腥泥,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后啃匿,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蛔外,經(jīng)...
    沈念sama閱讀 46,698評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,767評論 3 343
  • 正文 我和宋清朗相戀三年溯乒,在試婚紗的時候發(fā)現(xiàn)自己被綠了夹厌。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,912評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡裆悄,死狀恐怖矛纹,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情光稼,我是刑警寧澤或南,帶...
    沈念sama閱讀 36,572評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站艾君,受9級特大地震影響采够,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜冰垄,卻給世界環(huán)境...
    茶點故事閱讀 42,254評論 3 336
  • 文/蒙蒙 一蹬癌、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦逝薪、人聲如沸伴奥。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,746評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽拾徙。三九已至,卻和暖如春感局,著一層夾襖步出監(jiān)牢的瞬間尼啡,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,859評論 1 274
  • 我被黑心中介騙來泰國打工询微, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留崖瞭,地道東北人。 一個月前我還...
    沈念sama閱讀 49,359評論 3 379
  • 正文 我出身青樓撑毛,卻偏偏與公主長得像书聚,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子藻雌,可洞房花燭夜當晚...
    茶點故事閱讀 45,922評論 2 361

推薦閱讀更多精彩內(nèi)容