java - 编译Java文件时出错(数组,嵌套if语句)

标签 java arrays if-statement compiler-errors

我一直在尝试编写一段实践代码来计算如果缺少本书,则图书馆将根据所处的日期,月份等的不同而罚款。
这是编译器消息:

Solution.java:26: error: illegal start of expression
         if((givDate[1]-expDate[1])>0){
         ^
Solution.java:25: error: not a statement
   if((givDate[2]-expDate[2]) == 0) (
                                    ^
Solution.java:26: error: ';' expected
         if((givDate[1]-expDate[1])>0){
                                      ^
Solution.java:31: error: 'else' without 'if'
         else{
         ^
Solution.java:37: error: illegal start of expression
    )
    ^
Solution.java:38: error: 'else' without 'if'
     else{
    ^
6 errors

这是代码:
import java.io.*;
import java.util.*;
import java.text.*;
import java.math.*;
import java.util.regex.*;

public class Solution {

public static void main(String[] args) {
 Scanner input = new Scanner(System.in);
 int[] expDate = new int[3] ;
 int[] givDate = new int[3] ;
 for(int i=0;i<3;i++){
    givDate[i]=input.nextInt(); 
 }
 for(int j=0;j<3;j++){
    expDate[j]=input.nextInt(); 
 }
 int fine =  testForStuff(givDate,expDate);
System.out.println(fine);

}
public static int testForStuff(int givDate[],int expDate[]){
   int fine=0;
   if((givDate[2]-expDate[2]) == 0) (
         if((givDate[1]-expDate[1])>0){

         fine = 500*(givDate[1]-expDate[1]);

         }
         else{
             fine = 15*(givDate[0]-expDate[0]);

         }


    )
    else{

    fine = 10000;

    }   

 return fine;


 }    


 }

最佳答案

您正在使用()括号,而应该使用{}大括号。

if((givDate[2]-expDate[2]) == 0) (  // invalid: parenthesis
     if((givDate[1]-expDate[1])>0){

     fine = 500*(givDate[1]-expDate[1]);

     }
     else{
         fine = 15*(givDate[0]-expDate[0]);

     }


) // invalid: parenthesis

应该
if((givDate[2]-expDate[2]) == 0) { // curly braces
     if((givDate[1]-expDate[1])>0){

     fine = 500*(givDate[1]-expDate[1]);

     }
     else{
         fine = 15*(givDate[0]-expDate[0]);

     }


} // curly braces

关于java - 编译Java文件时出错(数组,嵌套if语句),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31347374/

相关文章:

javascript - 为什么我可以遍历数组而不是遍历-Javascript

javascript - 为什么这个二维数组在不应该的情况下推送值?

javascript - Object([]); 是做什么的?做?

java - 如果值为空,如何忽略 Map-Reduce 中的键值对?

operators - 现金或信用问题

java - 在 JavaFX 中绘制子像素?

java - Java 日历中的二月

java - 获取 ListView 单元格对象以在构造时递增

java - 如何使用 Powermock、easymock、mockito 进行单元测试 DriverManager.getConnection ("") 或 DriverManager.getConnection ("","","") 调用

php - 如何在 TPL 文件中的 prestashop 1.7 中检测 smarty 中的设备?