Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java &引用;应在“或”之前声明类或接口;“无效”&引用;_Java - Fatal编程技术网

Java &引用;应在“或”之前声明类或接口;“无效”&引用;

Java &引用;应在“或”之前声明类或接口;“无效”&引用;,java,Java,我正在完成这个java程序,错误消息“在“void”或之前需要类或接口声明”很难解决。这让人困惑,因为我之前有两个调用的相同“publicstaticvoid”设置。我不认为这是因为调用在main方法之外。我错过了什么?我的工作如下 import java.util.Scanner; //needed for input public class Holidaycharitydonations { static double[] cashDonations = new

我正在完成这个java程序,错误消息“在“void”或之前需要类或接口声明”很难解决。这让人困惑,因为我之前有两个调用的相同“publicstaticvoid”设置。我不认为这是因为调用在main方法之外。我错过了什么?我的工作如下

    import java.util.Scanner; //needed for input

    public class Holidaycharitydonations {
    static double[] cashDonations = new double[6];

    static double[] lbsFood = new double[6]; 

    static String[] siteName = new String[6]; 
    static String bestSiteCash = " "; 

    static String bestSiteFood = " "; 

    static double totalCash = 0; 

    static double totalFood = 0; 

    static double maxFood = 0; 
    static double maxCash = 0; 

    public static void main(String[] args) {

    Scanner input = new Scanner(System.in); 
    String runAgain = "yes"; //use runAgain

    do {

     getDonations();
     processDonations();
     displayDonations();


     System.out.print("Enter yes if you want to run again: ");
     runAgain = input.next();
     input.nextLine(); 
     System.out.print("\n\n\n");
      } while (runAgain.equalsIgnoreCase("yes"));

      } // end of main

    public static void getDonations() {
    Scanner input = new Scanner(System.in); 

   for (int i = 0; i < 6; i++) {
     System.out.println("Enter site " + (i + 1) + " name: ");
     siteName[i] = input.next();
     input.nextLine();//fixes skipping issue

     System.out.println("Enter cash donation(USD) for" + siteName[i] + ":   ");
     cashDonations[i] = input.nextDouble();
     while (cashDonations[i] < 1 )
     {
        System.out.println("SORRY - must be greater than 1 USD");
        System.out.print("Enter cash donation(USD) for " + siteName[i] + ": ");
        cashDonations[i] = input.nextDouble();
     }
     System.out.println("Enter food donation(lbs.) for " + siteName[i] + ": ");
     lbsFood[i] = input.nextDouble();

     while (lbsFood[i] < 1)
     {
        System.out.println("SORRY - must be greater than 1lb");
        System.out.println("Enter food donation(lbs.) for " + siteName[i] + ": ");
        lbsFood[i] = input.nextDouble();
     }

        }

}

    public static void processDonations() {
    totalCash = 0;
    totalFood = 0;
    maxCash = cashDonations[0];
    maxFood = lbsFood[0];
    for (int i = 1; i < 6; i++)
    {
     if (cashDonations[i] > maxCash)
     {
        maxCash = cashDonations[i];
        bestSiteCash = siteName[i];
     } 
     if (lbsFood[i] > maxFood)
     {
        maxFood = lbsFood[i];
        bestSiteFood = siteName[i];
     } 
     }//End of for loop


     for (int i = 0; i < 6; i++)

     totalCash = totalCash + cashDonations[i];
     totalFood = totalFood + lbsFood[i];
     }
     }//end of processDonations


     public static void displayDonations() {

     System.out.println("\n\n\n");
     System.out.println("\tHOLIDAY DONATION LOCATIONS REPORT\t");
     System.out.println("\t---------------------------------\t");
     System.out.println("\n\n\n");


    for (int i = 0; i < 6; i++)
    {
   System.out.print("Site:" + siteName[i]); 
   System.out.print("Individual Cash Donations: $" + cashDonations[i]);
   System.out.print("Individual Food Donations:" + lbsFood[i]+ "lbs" );
   System.out.print("\n");

   }//End of for loop

   System.out.print("\tHoliday Donation Totals Report\t");
   System.out.println("\t----------------------------\t");

   System.out.println("Total Cash Donations are $" + totalCash );
   System.out.println("Total Food Donations are " + totalFood + "lbs" );
   System.out.println("\n");
   System.out.println("\tHoliday Donation Best Site Report\t");
   System.out.println("\t---------------------------------\t");  

   System.out.println("\n");
   System.out.println("Best location site for cash donation:" + bestSiteCash );
   System.out.println("Max cash collected was:" + maxCash );

   System.out.println("\n");
   System.out.println("Best location site for food donation:" + bestSiteFood );
   System.out.println("Max food collected was:" + maxFood );
   }// end of displayDonations()


   }// end of class
import java.util.Scanner//需要输入
公共假期慈善捐款{
静态双精度[]现金捐赠=新双精度[6];
静态双精度[]lbsFood=新双精度[6];
静态字符串[]siteName=新字符串[6];
静态字符串bestSiteCash=“”;
静态字符串bestSiteFood=“”;
静态双重合计现金=0;
静态双总食物=0;
静态双maxFood=0;
静态双maxCash=0;
公共静态void main(字符串[]args){
扫描仪输入=新扫描仪(System.in);
String runreach=“yes”//使用runreach
做{
获取捐赠();
处理捐赠();
显示捐赠();
System.out.print(“如果要再次运行,请输入yes:”;
runreach=input.next();
input.nextLine();
系统输出打印(“\n\n\n”);
}while(runreach.equalsIgnoreCase(“yes”);
}//主管道末端
公共静态无效{
扫描仪输入=新扫描仪(System.in);
对于(int i=0;i<6;i++){
System.out.println(“输入站点”+(i+1)+“名称”);
siteName[i]=input.next();
input.nextLine();//修复了跳过问题
System.out.println(“为“+siteName[i]+”:”输入现金捐赠(USD);
现金捐赠[i]=input.nextDouble();
而(现金捐赠[i]<1)
{
System.out.println(“对不起-必须大于1美元”);
System.out.print(“输入现金捐赠(USD)作为“+siteName[i]+”:”;
现金捐赠[i]=input.nextDouble();
}
System.out.println(“为“+siteName[i]+”:”输入食物捐赠(lbs.);
lbsFood[i]=input.nextDouble();
while(lbsFood[i]<1)
{
System.out.println(“对不起-必须大于1lb”);
System.out.println(“为“+siteName[i]+”:”输入食物捐赠(lbs.);
lbsFood[i]=input.nextDouble();
}
}
}
公共静态无效进程(){
现金总额=0;
食物总量=0;
maxCash=现金捐赠[0];
maxFood=lbsFood[0];
对于(int i=1;i<6;i++)
{
if(现金捐赠[i]>maxCash)
{
maxCash=现金捐赠[i];
bestSiteCash=站点名称[i];
} 
如果(lbsFood[i]>maxFood)
{
maxFood=lbsFood[i];
bestSiteFood=站点名称[i];
} 
}//循环结束
对于(int i=0;i<6;i++)
现金总额=现金总额+现金捐赠[i];
totalFood=totalFood+lbsFood[i];
}
}//捐款结束
公共静态无效{
System.out.println(“\n\n\n”);
System.out.println(“\t日历捐赠地点报告\t”);
System.out.println(“\t-------------------\t”);
System.out.println(“\n\n\n”);
对于(int i=0;i<6;i++)
{
系统输出打印(“站点:+siteName[i]);
系统输出打印(“个人现金捐赠:$”+现金捐赠[i]);
系统输出打印(“个人食品捐赠:+lbsFood[i]+lbs”);
系统输出打印(“\n”);
}//循环结束
System.out.print(“\t日历捐赠总额报告”\t”);
System.out.println(“\t------------------\t”);
System.out.println(“现金捐赠总额为$”+现金总额);
System.out.println(“食品捐赠总额为”+totalFood+“磅”);
System.out.println(“\n”);
System.out.println(“\t日历捐赠最佳站点报告\t”);
System.out.println(“\t-------------------\t”);
System.out.println(“\n”);
System.out.println(“现金捐赠的最佳地点:“+bestSiteCash”);
System.out.println(“收取的最大现金为:+maxCash”);
System.out.println(“\n”);
System.out.println(“食品捐赠的最佳地点:“+bestSiteFood”);
System.out.println(“收集的最大食物量为:+maxFood”);
}//完()
}//下课

这里,在for循环声明之后,您错过了
{

    ... 
    for (int i = 0; i < 6; i++)
        totalCash = totalCash + cashDonations[i];
        totalFood = totalFood + lbsFood[i];
    } 
}//end of processDonations
。。。
对于(int i=0;i<6;i++)
现金总额=现金总额+现金捐赠[i];
totalFood=totalFood+lbsFood[i];
} 
}//捐款结束
应该是

    ... 
    for (int i = 0; i < 6; i++) {
        totalCash = totalCash + cashDonations[i];
        totalFood = totalFood + lbsFood[i];
    } 
}//end of processDonations
。。。
对于(int i=0;i<6;i++){
现金总额=现金总额+现金捐赠[i];
totalFood=totalFood+lbsFood[i];
} 
}//捐款结束

编译器究竟在哪里向您发出此错误消息?你的代码是哪一行?而且,你的缩进是可怕的。你可能有不匹配的大括号,但这几乎是不可能的。你的IDE到底在哪里?