java初學基礎班經典練手小程式300例
本文轉載於http://blog.sina.com.cn/s/blog_7192f33401016v43.html
一.函式
1.
*************************************************************************************************************************************
程式設計題:
class
{
//第二種方法:因為return是個變數,我們可以定義一個變數chr來表示return 然後返回到這個變數就行了。
}
二.陣列
***********************************************************************************************************************************
1.獲取一個數組中的最值???
***********************************************************************************************************************************
主函式中的寫法:
public static void main(String[] args)
程式寫法:
不加註釋的寫法:
public static int getMax(int [] arr)
加完註釋的寫法:
public static int getMax(int[] arr)
***********************************************************************************************************************************
2.對一個數組進行遍歷?????????????????
***********************************************************************************************************************************
主函式中的呼叫:
int [] arr={36,23,55,65,23,45,65,32};
函式的書寫:
public static void printArry(int [] arr)
***********************************************************************************************************************************
3.對陣列中的位置進行置換?????????????????
***********************************************************************************************************************************
public static int swap(int []arr,int a,int b)
***********************************************************************************************************************************
4.定義一個輸出語句?????????????????
***********************************************************************************************************************************
public static void sop(String str)
***********************************************************************************************************************************
5.使用選擇排序法對陣列進行排序?????????????????
***********************************************************************************************************************************
//選擇排序
public static void sop(String str)
public static void swap(int []arr,int a,int b)
public static void printArry(int [] arr)
***********************************************************************************************************************************
6.使用氣泡排序法對陣列進行排序?????????????????
***********************************************************************************************************************************
主函式呼叫如下:
int [] arr={36,23,55,65,23,45,65,32};
程式如下:
{
}
***********************************************************************************************************************************
7.對陣列中的元素進行反轉?????????????????
***********************************************************************************************************************************
程式如下:
***********************************************************************************************************************************
8.演示二分查詢法????????????????
***********************************************************************************************************************************
***********************************************************************************************************************************
9.找一個數組中查詢一個元素的第一次出現的位置????????????????
***********************************************************************************************************************************
***********************************************************************************************************************************
10.陣列中查表法的應用--通過使用者的指定星期數字,返回給使用者對應的星期中文或者英文.????????????????
***********************************************************************************************************************************
class ArrayTest3
{
}
***********************************************************************************************************************************
11.對二維陣列進行求和??????????????
***********************************************************************************************************************************
class
{
}
三、執行緒
四、集合
***********************************************************************************************************************************
1.string的一些練習??????????????
***********************************************************************************************************************************
String str = "abnbacd";
String s = str.replace("nba", "haha");
System.out.println("s="+s);
System.out.println(str);
char[] chs = str.toCharArray();//將字串轉成字元陣列。
boolean b = str.contains("Demo");
System.out.println("b="+b);
boolean b1 = str.endsWith(".java");
str = "zhangsan,lisi,wangwu";
String[] names = str.split(",");
for (int i = 0; i < names.length; i++) {
System.out.println(names[i]);
}
str = "
str = str.trim();
System.out.println("-"+str+"-");
********************************************************************************************************************************
2.獲取一個子串在字串中出現的次數。"nbawernbatyunbaidfnbaghj
***********************************************************************************************************************************
package cn.itcast.api.p2.string.test;
public class StringTest2
{
public static void main(String[] args)
{
String s1 = "nbawernbatyunbaidfnbaghj
String key = "nba";
int count = getSubCount(s1, key);
System.out.println(key + ",count=" + count);
String s2 = "abcde";
s2 = reverseString(s2);
System.out.println("reverse:" + s2);
}
public static String reverseString(String str)
{
// 1,將字串轉成字元陣列。
char[] chs = str.toCharArray();
reverseArrary(chs);
return new String(chs);// 通過構造器將字元陣列轉成字串。
}
private static void reverseArrary(char[] chs)
{
for (int start = 0, end = chs.length - 1; start < end; start++, end--)
{
swap(chs, start, end);
}
}
private static void swap(char[] chs, int start, int end)
{
char temp = chs[start];
chs[start] = chs[end];
chs[end] = temp;
}
public static int getSubCount(String str, String key)
{
// 1,定義變數,一個是計數器,一個是記錄位置。
int count = 0;
int index = 0;
// 2,呼叫indexOf方法獲取key出現的位置。
while ((index = str.indexOf(key, index)) != -1)
{
index = index + key.length();
count++;
}
return count;
}
}
***********************************************************************************************************************************
3.獲取兩個字串中最大相同子串。
* 如:"rtyuicctvoprtyu"
*
***********************************************************************************************************************************
package cn.itcast.api.p2.string.test;
public class StringTest4 {
public static void main(String[] args) {
String s1 = "rtyuicctvoprtyu";
String s2 = "cvbcctvnm";
String maxsub = getMaxSubstring(s2,s1);
System.out.println("maxsub="+maxsub);
}
public static String getMaxSubstring(String s1, String s2) {
String max,min;
max = s1.length()>s2.length()?s1:s2;
min = max.equals(s1)?s2:s1;
// System.out.println("max="+max+",,min="+min);
for(int x=0; x<min.length(); x++){
for(int y=0,z=min.length()-x; z!=min.length()+1; y++,z++){
//獲取s2子串
String temp = min.substring(y,z);
// System.out.println(temp);
if(max.contains(temp)){//s1.indexOf(temp)!=-1
return temp;
}
}
}
return null;
}
}
***********************************************************************************************************************************
4,對這個字串陣列進行字典順序的排序。
* {"aaa","abc","cba","nba","qq","zz"}??????????????
***********************************************************************************************************************************
package cn.itcast.api.p2.string.test;
public class StringTest5 {
public static void main(String[] args) {
String[] strs = {"cba","abc","nba","zz","qq","aaa"};
sortString(strs);
for (int i = 0; i < strs.length; i++) {
System.out.print(strs[i]+",");
}
}
public static void sortString(String[] strs) {
for (int i = 0; i < strs.length-1; i++) {
for (int j = i+1; j < strs.length; j++) {
if(strs[i].compareTo(strs[j])>0)
swap(strs,i,j);
}
}
}
private static void swap(String[] strs, int i, int j) {
String
strs[i] = strs[j];
strs[j] = temp;
}
public static void sort(int[] arr){
for (int i = 0; i < arr.length-1; i++) {
for (int j = i+1; j < arr.length; j++) {
if(arr[i]>arr[j]){
swap(arr,i,j);
}
}
}
}
private static void swap(int[] arr, int i, int j) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
***********************************************************************************************************************************
5. "34 9 -7 12 67 25"要求對這個字串中的數值進行從小到大的排序,??????????????(很重要)
***********************************************************************************************************************************
package cn.itcast.api.p2.wrapper.test;
import java.util.Arrays;
public class WrapperTest2 {
private static final String SPACE = " ";
public static void main(String[] args) {
String str = "34 9 -7 12 67 25";
str = sortStringNumber(str);
System.out.println(str);
}
public static String sortStringNumber(String str) {
//1,將字串中的數值通過指定的規則進行切割獲取字串陣列。
String[] str_nums = toStringArray(str);
//2,將字串陣列轉成int陣列。
int[] nums = toIntArray(str_nums);
//3,對int陣列排序;
sortIntArray(nums);
//4,將int陣列變成字串。
return arrayToString(nums);
}
private static String arrayToString(int[] nums) {
//1,建立字串緩衝區。
StringBuilder sb = new StringBuilder();
for (int i = 0; i < nums.length; i++) {
if(i!=nums.length-1)
sb.append(nums[i]+SPACE);
else
sb.append(nums[i]);
}
return sb.toString();
}
private static void sortIntArray(int[] nums) {
Arrays.sort(nums);
}
private static int[] toIntArray(String[] str_nums) {
//1,先定義一個int陣列。
int[] arr = new int[str_nums.length];
//2,對字串陣列進行遍歷。
for (int i = 0; i < str_nums.length; i++) {
//將陣列格式的字串轉成整數。儲存到arr陣列中。
arr[i] = Integer.parseInt(str_nums[i]);
}
return arr;
}
private static String[] toStringArray(String str) {
return str.split(SPACE);
}
}
***********************************************************************************************************************************
1.string的一些練習??????????????
***********************************************************************************************************************************
***********************************************************************************************************************************
1.string的一些練習??????????????
***********************************************************************************************************************************
五、IO操作
********************************************************************************************************************************