如何从整数中删除最小值数字并返回其余部分而不使用string.Like如果我们有数字4412,则返回1并返回442。 我做了编码以提取最小的数字,但不知道如何组合其余的。
public class RemoveSmallestDigit {
static int testcase1 = 4487;
static int testcase2 = 1111;
public static void main(String args[]){
RemoveSmallestDigit testInstance = new RemoveSmallestDigit();
int result = testInstance.removeSmallestDigit(testcase1);
System.out.println(result);
}
//write your code here
public int removeSmallestDigit(int num){
int small=9;
int digit=0;
while(num!=0){
digit=num%10;
num=num/10;
if(digit<=small){
small=digit;
}
}
System.out.println(small);
return small;
}
}
答案 0 :(得分:5)
我建议你把它分解为几步。例如,您可能会执行类似
的操作查找数字的数字并存储为数组
找到最低位并将其从阵列中删除
将新数组转换回数字
当然,如果您发现对您更有意义的事情,您可以提出自己的步骤。主要思想是将问题分解为更小的问题。如果您遇到任何这些较小的问题,请回过头来提问。
答案 1 :(得分:-1)
public int removeSmallerdigit( int a)
{
int smalldigit=0;
int ReverseNumber=0;
int finalNumber=0;
int digit=0;
while(a>0)
{
digit=a%10;
a=a/10;
if(smalldigit>digit)
{
smalldigit=digit;
}
ReverseNumber=ReverseNumber*10+digit;
}
while(ReverseNumber>0)
{
digit=ReverseNumber%10;
ReverseNumber=ReverseNumber/10;
if(smalldigit!=digit)
{
finalNumber=finalNumber*10+digit;
}
}
return finalNumber;
}