读书人

正整数的N进制表示

发布时间: 2012-12-22 12:05:06 作者: rapoo

求一个正整数的N进制表示
package A;

import java.util.LinkedList;
import java.util.Scanner;

class StringStack {
private LinkedList<String> linkedList;
public LinkedList<String> getLinkedList() {
return linkedList;
}

public void setLinkedList(LinkedList<String> linkedList) {
this.linkedList = linkedList;
}

public StringStack()
{
linkedList=new LinkedList<String>();
}

public void push(String name)
{
//add element into list's head
linkedList.addFirst(name);
}

public String top()
{//get the first element of this list
if(linkedList.isEmpty())
return null;
return linkedList.getFirst();
}

public String pop()
{
//remove the first element from this list
if(linkedList.isEmpty())
return null;
return linkedList.removeFirst();
}

public boolean isEmpty()
{
//is this list empty
return linkedList.isEmpty();
}
}

public class nHEX {
private static String IntegerTonHEX(int num,int mod){
StringStack result=new StringStack();
int quotient=num;
int remainder;
while(quotient>mod||quotient==mod){
remainder=quotient%mod;
quotient=quotient/mod;
result.push(Integer.toString(remainder));
}
result.push(Integer.toString(quotient));
StringBuilder sb=new StringBuilder();
while(!result.isEmpty()){
sb.append(result.pop());
sb.append("");
}

return sb.toString();
}
public static void main(String[] args)throws Exception{
Scanner scanner = new Scanner(System.in);
System.out.println("Please enter the number to be transformed:");
int num=new Integer(scanner.nextLine());
System.out.println("Please enter the number of n-hex:");
int mod=new Integer(scanner.nextLine());


System.out.println("num:"+num);
System.out.println("mod:"+mod);
System.out.println(num+"的"+mod+"进制是:");
System.out.println(IntegerTonHEX(num,mod));

}

}

读书人网 >编程

热点推荐