我在stack.java文件中编写了这个程序。 class' stack'实现一个堆栈和类'测试'测试它:
class stack
{
int top;
int s[]=new int [5];
public stack()
{
top=-1;
}
public void push(int a)
{
if(top==4)
System.out.println("Stack already full.");
else
{
top++;
s[top]=a;
System.out.println("Element "+a+" Pushed.");
}
}
public int pop()
{
if(top==-1)
{
System.out.print("Stack already empty. ");
return 0;
}
else
return(s[top--]);
}
public void display()
{
for(int i=0;i<=top;i++)
System.out.print(s[i]+" ");
System.out.print("\n");
}
}
class test
{
public static void main(String a[])
{
stack obj=new stack();
obj.push(1);
obj.push(2);
obj.push(3);
obj.push(4);
obj.push(5);
obj.push(6);
System.out.println("\nStack:");
obj.display();
System.out.println("\nRemoving Element: "+(obj.pop()));
System.out.println("Removing Element: "+(obj.pop()));
System.out.println("Removing Element: "+(obj.pop()));
System.out.println("Removing Element: "+(obj.pop()));
System.out.println("Removing Element: "+(obj.pop()));
System.out.println("Removing Element: "+(obj.pop()));
}
}
我使用命令编译了这个:javac stack.java
文件&#39; stack.class&#39;和&#39; test.class&#39;被创造。现在我使用命令创建了可执行文件:
jar cvfe abc.jar test test.class stack.class
jar使用命令java -jar abc.jar
完美地工作,但是双击jar文件没有任何反应。
我无法弄清楚问题所在。请帮助.......
答案 0 :(得分:1)
可能你错过了清单文件,或者在清单文件中没有指定入口点类(http://docs.oracle.com/javase/tutorial/deployment/jar/appman.html)。
答案 1 :(得分:0)
通常的做法是在Windows上使用.bat
创建java -jar abc.jar
文件,然后双击它就可以了。
答案 2 :(得分:0)
如果要双击执行批处理文件,最好创建批处理文件
创建.bat文件的步骤 1.打开记事本,2。编写java -cp abc.jar包名称.classname或java -jar abc.jar 3.将记事本文件另存为execute_abc.bat 4.双击execute_abc.bat文件