整数取反(未实现)

题目很简单,完成函数reverse,要求实现把给定的一个整数取其相反数的功能,

举两个例子如下: x = 123, return 321 x = -123, return -321 

概述:拿到题目后我没看清楚用什么语言写就直接上手了,

我是一位java man    在校生  目前不会c++ 对c 也不太熟,就直接用java上手了、、、、以至于、、

我看到题后   第一反应 是用数组来做

先将 int型的 数  转换成String 字符串    然后 将其转换成char【】   arr   数组   进行  逆置、、

当然 要分为  有“-”和没有“-”的情况

1、有“-”的时候将只是逆置时的 位置变一下   即 原来是  从arr【0】开始   现在  从arr【1】开始罢了

2、没有“-”的时候 跟平时的 数组的 逆置一样

注:我是传入的参数 是int  整数   返回的参数  是个String  类型的 字符串   

大家 有兴趣 就看下代码吧

虽然不是很成熟   但对于菜鸟的我,它也是我成长的脚步、、谢谢您的光顾、、欢迎您来指点、、

 

public class Zsqf {

	public static String run(int a){
		String str=String.valueOf(a);
		char x;
		
		char [] arr=new char[str.length()];
		for(int i=0;i<str.length();i++){
			arr[i]= str.charAt(i);
		
		}
		int n=str.length();	
		if('-'==arr[0]){
			n=n-1;
			
		
			if(n%2!=0){
				
				  for(int j=1;j<n/2+1;j++)
				  {
					 x=arr[j];
					 arr[j]=arr[n-j+1];
					 arr[n-j+1]=x;
				}
				 
			}else{
				for(int j=1;j<n/2+1;j++)
				  {
					 x=arr[j];
					 arr[j]=arr[n-j+1];
					 arr[n-j+1]=x;
				}
			}
			StringBuffer aa=new StringBuffer();
			for(int i=0;i<n+1;i++){
				aa.append(arr[i]);
			}
			String xx=aa.toString();
			return xx;
		  }else{
			 
			  if(n%2==0){
				  for(int j=0;j<n/2;j++)
				  {
					 x=arr[j];
					 arr[j]=arr[n-1-j];
					 arr[n-1-j]=x;
				}
			  }else {
				 for(int j=0;j<n/2;j++)
				  {
					 x=arr[j];
					 arr[j]=arr[n-1-j];
					 arr[n-1-j]=x;
				}
			  }
		  }
			 
		 
		StringBuffer aa=new StringBuffer();
		for(int i=0;i<n;i++){
			aa.append(arr[i]);
		}
		String xx=aa.toString();
		return xx;
	}
	public static void main(String[] args) {
		// TODO Auto-generated method stub
System.out.println(run(-12345));
	}

}


 

现在算法 实现了  可以将一个整数逆置  但返回的是以个  String  字符串   有待改正下、、、

 

下图是 运行效果:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值