利用链栈来实现把一个10进制数转换成一个8进数.我写了一些前面应该都是对的,我就是不知道怎么来把n%8的余数储存在栈里 最后出栈.下面看看我的代码嘛.谢谢了,!!
import java.io.*;
public class StackNode {//定义链栈类
int data; //定义存放数据
StackNode next; //链接的下一个节点
public int getData() {
return data;
}
public void setData(int data) {
this.data = data;
}
public StackNode getNext() {
return next;
}
public void setNext(StackNode next) {
this.next = next;
}
}
class LinkStack{ //定义链表
StackNode top;
boolean empty(){//空栈
return top==null;
}
StackNode push(StackNode S){//压栈
S.next=top;
top=S;
return top;
}
StackNode pop(){//出栈
if(empty()){
System.out.print("Stack undedow");
}
StackNode sn=top;
top=top.next;
return top;
}
public static void main(String[] args)throws IOException {
// TODO Auto-generated method stub
LinkStack LS=new LinkStack();
int b[]=new int[5];
BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
String sr;
int n;
System.out.print("请输入n:(n<=30000)");
sr=in.readLine();
n=Integer.parseInt(sr);
if( n>8){
System.out.println( "你输入的数字为:"+n);
while(n!=0){ //写不来了,不知道怎么来把n%8的余数储存在栈里
//LS.push( n%8); //最后怎么把他们出栈打印出来.
n=n/8;
}
}
}
}