java程序问题, 应该和static有关~

来源:百度知道 编辑:UC知道 时间:2024/06/17 00:59:59
这是我的作业,我编的一个点菜的java程序, 今晚改了一改, 加了很多static, 改成了5个类, 可以运行, 但不知道为什么restart后, 菜单会累计:

--------------------------------------------------------------------
//主程序
import java.io.*;
import java.util.*;
public class Mainprogram {
public static void main(String[] args)throws IOException {
Scanner input = new Scanner(System.in);
for(int re =1;re==1;)
{
ShowMessage.Show();

int renshu = input.nextInt();
ShowMessage.showrenshu(renshu);

ShowMessage.showVIP();
int VIP = input.nextInt();

Menu.setmenu("menu.txt");
System.out.printf("%2s/%28s/ %s\n","ID","name","price");
for(int i = 0; i<Menu.id.length; i++)
{System.out.printf("%2d/%28s/ ¥%.2f\n",Menu.id[i],Menu.name[i],Menu.price[i]);}

if (VIP ==2)
{
Tool T = n

这样有些就不用加static了 常量的话最好加个static
public static void main(String[] args)throws IOException {
new Mainprogram().launch()
}
public void launch() {
以前main() 方法中的复制过来
}

看不到程序,不过存菜单那个的变量不要设成static,因为设成static后这个属性是这个类创建的对象共用的,所以会累计。

问题要描述清楚 。不然不要问!
什么 今晚改了一改(???), 加了很多static(??), 改成了5个类(???), 可以运行, 但不知道为什么restart(????)后, 菜单会累计(???)

回答即可得2分,回答被采纳则获得悬赏分以及奖励20分

ShowMessage.showRestart(); 贴出来,要不然哪里看的明白

你restart的时候应该把保存菜单的static变量清空一下