Home > Java > Javagetting Started > Java implements integer reversal

Java implements integer reversal

王林
Release: 2020-01-06 17:35:03
forward
4334 people have browsed it

Java implements integer reversal

1. Convert int integer to String and overflow capture

	class Solution {
	    public int reverse(int x) {
	    	 long nums = 0;
	    	 int temp = 1;
	    	 try {
		        temp = x / Math.abs(x);
		        StringBuilder num = new StringBuilder();
		        num.append(Math.abs(x));
	        	nums = Long.parseLong(num.reverse().toString());
		    	if(nums > Math.pow(2, 31) - 1) {
		    		return 0;
		    	}
	        } catch (Exception e) {
				// TODO: handle exception
	        	return 0;
			}
	    	return (int)nums*temp;
	    }	
	}
Copy after login

String conversion is less efficient and uses more library functions.

(recommended learning video tutorial: java video tutorial)

2. Remainder method

	class Solution {
	    public int reverse(int x) {
	    	int ans = 0;
	    	while(x != 0) {
	    		// 判断溢出
	    		if((ans * 10) / 10 != ans) {
	    			ans = 0;
	    			break;
	    		}
	    		// ans*10 没有溢出
	    		ans = ans * 10 + x % 10;
	    		x /= 10;
	    	}
	    	return ans;
	    }	
	}
Copy after login

(ans * 10) / 10 of which ans *10, the Java virtual machine actually performs numerical type promotion internally, that is, when overflowing, long type data is temporarily stored, and finally through narrowing conversion, the lower 32-digit value is retained to obtain (ans * 10) / 10 != ans. Therefore, the condition of storing only 32-bit integers cannot be met.

Recommended related articles and tutorials: java introductory tutorial

The above is the detailed content of Java implements integer reversal. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:csdn.net
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template