当程序表示构建成功时,java没有主类发现错误



嗨,我目前正在为我的任务做这个程序,以创建一个虚拟商店。目前我正在使用NetBean IDE 8.1,在尝试测试该程序时遇到了一个错误。据说,尽管当我试图构建程序时,程序说构建成功。

我确实试图按照这个视频中的说明进行操作,但在中出现了空图像

这是我的主程序(我还没有完成程序,但这个错误一直阻止我测试它(

import java.util.Scanner;
 public class Zarashop {
 int choice;
 public static void main(String[] args, int clothA){
    Scanner absorb = new Scanner(System.in);
    // phase 1 login
    cloth cl = new cloth(); // declaring objects
    payment pay = new payment();
    personalinfo pi = new personalinfo();
    shipping ship = new shipping();
    receipt re = new receipt();
    System.out.println("Welcome to Zara's cloth Shopping Center");
    System.out.println("nThis an online Shopping application will help you to buy "+ "a new cloth");
    System.out.println("Please enter your detail");
     System.out.println("nPlease enter your name");
     String Name = absorb.nextLine(); // user input name
     System.out.println("nAre you a student? (yes) or (no)");
     String personalchoice = absorb.nextLine(); // user input status

     //phase 2
     System.out.println("please choose your cloth" );
     System.out.println("cloth A detail : size: 170cm and red color  ");
     int cloathA = absorb.nextInt(); 
     System.out.println("enter quantity  ");
     int quantity = absorb.nextInt(); 
     pay.setclothA(clothA); // store value
     pay.setquantity(quantity); 
     // phase 3 payment
     System.out.println("please press 1 to calculate your payment");
     int choice = absorb.nextInt();
     if(choice == 1){
         pay.total();    
     }
     else {
    System.err.println("error!");
  } 
   }


    }

这是我的主要布料类(拼写错误(

   public class cloth {
  // superclass
   private int quantity; //  
 private int  clothA=200;
 //void
 void setclothA(int ca){
     clothA = ca;
 }
void setquantity(int q){
    quantity=q;
}
//get
int getclothA(){
    return clothA;
}
int getquantity(){
    return quantity;
    }
  }

我的personalInfo 主类

 public class personalinfo {
// superclass
public String Name; 
private int Password; 
private String TypeCard; 
private int CardNo;   
private String Address; 
private int TeleNo;   
//void

void setName(String n){
    Name = n;
}
void setPassword(int p){
    Password = p;
}
void setTypeCard(String tp){
    TypeCard = tp;
}
void setCardNo ( int cn){
    CardNo=cn;
}
void setAddress ( int a){
    CardNo=a;
}
void setTeleNo ( int tl){
    TeleNo=tl;
}
   //get
String getName(){
    return Name;
}
String getAddress(){
    return Address;
  }
     int getPassword(){
         return Password;
     }
     String getTypeCard(){
         return TypeCard;
     }
     int getCardNo(){
         return CardNo;
     }
     int getTeleNo (){
         return TeleNo;
     }
  }

我的付款子类一揽子zarashop;

  //subclass
  public class payment extends cloth {
 String Status = "Initial";
public void total(){
int ca = super.getclothA(); //fetching values
int q = super. getquantity();
int total= q*ca;
  }
 }

    public class receipt extends shipping{

}

我的代理

public class shipping extends payment  {
public int typeofshipping; 
//void 
void settypeofshipping(String ts){
    String typeofshipping = ts;
   }
  int gettypeofshipping(){
        return typeofshipping;
  } 
   }

用于接收的子类(我为程序保留此子类以显示所有必要的用户输入(

 public class receipt extends shipping{

 }

谢谢大家,对我糟糕的节目和我的英语感到抱歉。

Java应用程序可以接受来自命令行的任意数量的参数,并且所有这些参数都被解释为String,这就是为什么main只接受String数组作为参数的原因。

将您的代码更改为

public static void main(String[] args)

你就可以启动你的应用程序了。

如果需要支持数字命令行参数,则必须将表示数字的String参数转换为int:

int firstArg;
if (args.length > 0) {
    try {
        firstArg = Integer.parseInt(args[0]);
    } catch (NumberFormatException e) {
        System.err.println("Argument" + args[0] + " must be an integer.");
        System.exit(1);
    }
}

如果args[0]的格式无效,parseInt将抛出NumberFormatException。

这个例子来自官方文件。

这是您的错误:public static void main(String[] args**, int clothA**)

将其更改为public static void main(String[] args)

您需要将主方法更改为public static void main(String[] args)。通过添加int clothA作为第二个参数,您正在更改签名,然后它将成为启动应用程序的无效主方法。

若您想从控制台检索一些内容,您会在args中找到您的参数。

然后,您可以按如下方式检索clothA:

int clothA;
if (args.length > 0) {
    try {
        clothA = Integer.parseInt(args[0]);
    } catch (NumberFormatException e) {
        System.err.println("Argument" + args[0] + " must be an integer.");
        System.exit(1);
    }
}

相关内容

  • 没有找到相关文章

最新更新