1. 程式人生 > >java判斷迴文的兩種方法

java判斷迴文的兩種方法

第一種:面向過程:

從字串Str.length()/2開始向兩端移動進行對比 ,boolean用來確定一個返回值判斷是否迴文

Scanner input = new Scanner(System.in);
		try{
		System.out.println("Enter a three-digit interger:");
		String integer = input.next();
		int i = integer.length()/2-1;//從字串中間往左
		int j = integer.length()/2+1;//從字串中間往右
		boolean c = true;//預設為真
		for(;i >= 0 || j < integer.length();i--,j++){//遍歷整個字串判斷是否為迴文
			if(integer.charAt(i) != integer.charAt(j))			
				c = false;					
			else 
				c = true;
		}
		if(c == false)
			System.out.println(integer+" is not a palindrome");
		else 
			System.out.println(integer+" is a palindrome");
		}finally{
			input.close();
		}

第二種:面向物件:

使用StringBuffer定義一個物件integerBuffer,對integerBuffer進行反轉賦值給普通String型別 string,將兩者進行對比

需要注意的是,StringBuffer和String不是同一種類型,不能直接進行對比或者是強制轉換。

Scanner input = new Scanner(System.in);
		try{
		System.out.println("Enter a three-digit interger:");
		String string ;
		StringBuffer integerBuffer1 = new StringBuffer(input.next());
		string = integerBuffer1.toString();//將輸入物件轉換為String型別的字串,賦值給string
		if(string.equals(integerBuffer1.reverse().toString())){//判斷string是否和反轉後的字串相同
			System.out.println(string+" is a palindrome");
		}
		else{
			System.out.println(string+" is not a palindrome");
		}
		}finally{
			input.close();
		}