黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 Java面向對象編程練習題及答案

Java面向對象編程練習題及答案

更新時間:2020-07-13 15:14:00 來源:動力節點 瀏覽1970次

給我一個字符串,例如I love java,輸出: java love I

public?class?StringReverse?{??
??????public?void?swap(char[]?arr,?int?begin,?int?end)?{??
????????while(begin?<?end)?{??
????????????char?temp?=?arr[begin];??
????????????arr[begin]?=?arr[end];??
????????????arr[end]?=?temp;??
????????????begin++;??
????????????end--;??
????????}??
????}??
????//I?love?java??
????public?String?swapWords(String?str)?{??
????????char[]?arr?=?str.toCharArray();??
????????swap(arr,?0,?arr.length?-?1);??
????????int?begin?=?0;??
????????for?(int?i?=?1;?i?<?arr.length;?i++)?{??
????????????if?(arr[i]?==?'?')?{??
????????????????swap(arr,?begin,?i?-?1);??
????????????????begin?=?i?+?1;??
????????????}??
????????}??
??swap(arr,?begin,?arr.length-1);
????????return?new?String(arr);??
????}??
??????
????public?static?void?main(String[]?args)?{??
????????String?str?=?"I?love?java";??
????????System.out.println(new?StringReverse().swapWords(str));??
????}??
?
}

輸入一個正數n,輸出所有和為n的連續正數序列。

分析:設定兩個指針,min指向和為n的連續正數序列的最小值,max指向和為n的連續正數序列最大值。sum表示真正的和。

初始情況下,min、max和sum都指向1.

當sum小于n時,max++;

當sum大于n時,min++;

當sum等于n時,輸出整個序列。

public?class?a?{
public?static?void?getAns(int?n)?{
????int?min?=?1;
????int?sum?=?1;
????int?max?=?1;
????while(min?<=?n/2+1)?{
????????if(sum?==?n)?{
????????????for(int?k?=?min;?k<=max;?k++)?{?????????
????????????System.out.println(k+"");
????????????}
????????????System.out.println();
????????????sum?=?sum?-?min;
????????????min?++;
????????????max?++;
????????????sum?=?sum+max;
????????}
????????if(sum?>?n)?{
????????????sum?=?sum?-?min;
????????????min?++;
????????}?else?{
????????????max?++;
????????????sum?=?sum?+?max;
????????}
????}
}
public?static?void?main(String[]?args)?{
????getAns(15);
}}

2.給定一個排好序的鏈表,刪除鏈表中重復的結點,返回鏈表頭指針。

分析:(1)鏈表中重復的結點不需要保留一個,要全部刪除。

(2)因為相同的結點全部要刪除,所以我們設定三個指針,node指向當前節點,prev指向前驅,還有一個指向后繼結點。一旦遇到node和后繼結點相等,就node++,知道沒有重復的再移動prev.

(3)注意:頭結點也可能有重復,所以也可能被刪除,所以需要定義一個root指向頭結點。

public?class?a?{
????//?結點定義,包括當前結點的值和next指向
????private?static?class?ListNode?{
????????private?int?val;
????????private?ListNode?next;
?
????????public?ListNode()?{
????????}
?
????????public?ListNode(int?val)?{
????????????this.val?=?val;
????????}
?
????????public?String?toString()?{
????????????return?val?+?"";
????????}
????}
?
????//?刪除節點的函數
????public?static?ListNode?delete(ListNode?head)?{
????????if?(head?==?null)
????????????return?null;
????????if?(head.next?==?null)
????????????return?head;
????????//?定義一個臨時的頭結點,因為頭結點也可能被刪除
????????ListNode?root?=?new?ListNode();
????????root.next?=?head;
????????ListNode?prev?=?root;
????????ListNode?node?=?head;
?
????????while?(node?!=?null?&&?node.next?!=?null)?{
????????????if?(node.val?==?node.next.val)?{
????????????//若有連續相同的結點,則node要一直++
??????while?(node.next?!=?null?&&?node.next.val?==?node.val)
????????????????????node?=?node.next;
????????????????prev.next?=?node.next;
????????????}?else?{
????????????????prev.next?=?node;
????????????????prev?=?prev.next;
????????????}
????????????node?=?node.next;
????????}
????????return?root.next;
????}
????//打印出來刪除后的結果
????private?static?void?print(ListNode?head)?{
????????while?(head?!=?null)?{
????????????System.out.print(head?+?"->");
????????????head?=?head.next;
????????}
????????System.out.println("null");
????}
?
????public?static?void?main(String[]?args)?{
????????//?按照結點的定義新建一個鏈表
????????ListNode?n1?=?new?ListNode(1);
????????ListNode?n2?=?new?ListNode(1);
????????ListNode?n3?=?new?ListNode(2);
????????ListNode?n4?=?new?ListNode(2);
????????ListNode?n5?=?new?ListNode(2);
????????ListNode?n6?=?new?ListNode(3);
????????ListNode?n7?=?new?ListNode(5);
?
????????n1.next?=?n2;
????????n2.next?=?n3;
????????n3.next?=?n4;
????????n4.next?=?n5;
????????n5.next?=?n6;
????????n6.next?=?n7;
????????n7.next?=?null;
????????//調用delete函數,傳入n1的值,當成頭結點
????????ListNode?result?=?delete(n1);
????????print(result);
?
????}
}

以上就是動力節點java培訓機構的小編針對“Java面向對象編程練習題及答案”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 成人免费在线播放视频 | 无遮免费网站在线入口 | 午夜黄色一级片 | 日韩综合在线观看 | 波多野结衣久久高清免费 | 国产剧情乱偷 | 五月婷婷开心综合 | 日本人与人xxⅹ | 夜夜天天| 欧美 日韩 成人 | 一级一级一级毛片免费毛片 | 一级片黄色片 | 精品欧美日韩一区二区 | 狠狠干视频网 | 亚洲精品国产综合一线久久 | 五月天伊人 | 在线成人免费视频 | 久久久久久久久综合影视网 | 韩国三级日本三级在线观看 | 在线观看欧美国产 | 国产一二三四区中 | 日韩免费三级 | 成人免费视频播放 | 玖玖成人网 | 天堂网国产 | 麻豆91hd| 怡红院视频在线观看最新 | 午夜看黄网站免费 | aa毛片免费全部播放完整 | 成人男女网18免费0 成人男女网18免费91 | 狠狠色噜噜综合社区 | 国产成人亚洲毛片 | 人人爽人人爽人人爽 | 欧美日韩伦理 | 美国一级做a一级爱视频 | 久久香蕉精品视频 | 综合558欧美成人永久网站 | x8x8国产精品视频 | 天天操夜夜爽 | 日本一区二区免费看 | 诱人的护士5中文字幕 |