java經典程式程式設計知識(三)
阿新 • • 發佈:2018-12-24
Java中int、String的型別轉換
int->String
- 加上""
- Integer.toString()
String->int
- Integer.parseInt();
String[] str=scanner.nextLine().split(" ");//是字串陣列而不是字元陣列
總結:
length——陣列的屬性;
length()——String的方法;
size()——集合的方法;
nums2=nums1;//陣列之間賦值,只是改變了引用而已
\s代表一個空白字元 正則表達是中的\s應該是匹配一個空白字元
Scanner.useDelimiter( )
由於Scanner物件將首先跳過輸入流開頭的所有空白分隔符,然後對輸入流中的資訊進行檢查,直到遇到空白分隔符為止;因此輸入資料:this is a test;空白後面的字元:is a test不會顯示輸出來。那如何將含有空格的資料輸出呢?
這時就需要用Scanner.useDelimiter( )方法,可以將分隔符號修改為"回車",或者其他字元。
有n個整數,使其前面各數順序向後移m個位置,最後m個數變成最前面的m個數,迴圈可以用%運算
打印出楊輝三角形(要求打印出10行如下圖)
1
1 1
1 2 1
......
public class Programme { public static void main(String[] args) { int[][] nums=new int[10][10]; //陣列第一列全為1 for(int i=0;i<10;i++){ nums[i][0]=1; } //將楊輝三角形的數全部算出來 for(int i=1;i<10;i++){ for(int j=1;j<i+1;j++){ nums[i][j]=nums[i-1][j]+nums[i-1][j-1]; } } //分情況列印輸出 for(int i=0;i<10;i++){ for(int j=0;j<10-i-1;j++){ System.out.print(" "); } for(int j=0;j<10;j++){ if(nums[i][j]==0){ break; } System.out.print(nums[i][j]+" "); } System.out.println(); } } }
【程式37】
題目:有n個人圍成一圈,順序排號。從第一個人開始報數(從1到3報數),凡報到3的人退出圈子,問最後留下的是原來第幾號的那位。
public class Programme { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("請輸入人數:"); int n=scanner.nextInt(); boolean bool[]=new boolean[n]; //count控制圈內人數,index控制圈的迴圈,c控制報數的次數 int count=n,index=0,c=0; while(count>1){ for(int i=index;i<n;i++){ if(bool[i]==false){ c++; } if(c==3){//報數滿三次,c重置為0 bool[i]=true; count--;//表示人少了一個 c=0; } } index=0;//報滿一圈置為0 } for(int i=0;i<n;i++){ if(!bool[i]){ System.out.println("最後留下的是原來的第"+(i+1)+"位"); } } scanner.close(); } }
高精度除以低精度=高精度
string1.compareTo(string2);
如果返回1,String1>String2
如果返回-1,String1<String2
如果返回0,String1=String2
持續輸入
while (input%2!=0) {
System.out.println("你輸入的不是偶數,請重新輸入:");
input=scanner.nextInt();
}
參考:https://www.cnblogs.com/bluestorm/p/3698810.html
來自為知筆記(Wiz)