2016-11-28 18 views
-3

私はプログラミングのあらゆる面で非常に慣れ親しんでおり、Javaを学んでいます。私は仕事を持っていますが、間違いを続けており、解決方法が不明です。この仕事は私が試みたよりもはるかに複雑であるので、どんな助けでも感謝します。 私が持っている主な問題は、複数のメソッドを使用してリターンを使用することです。「return statementが見つかりません」というエラーが続きます

これまでのところ私のコードで、誰にも分かりやすいものです。

import java.util.Scanner; 

public class LPU { 
    public static void main(String[] args) { 
     Scanner in = new Scanner(System.in); 
     boolean gradedep; 

     do { 
      System.out.println("Please input your mark: "); 
      int mark = in.nextInt();   

      System.out.println("Please input number of days to display: "); 
      int days = in.nextInt(); 

     if (mark >= 0 && mark <= 100 && days >= 0 && days <= 20) { 
       gradedep = true; 

     } else { 
       System.out.println(""); 
       System.out.println(""); 
       System.out.println("Please re-enter as you have entered an invalid input. "); 
       System.out.println(""); 
       System.out.println(""); 
       gradedep = false; 
     } 
     } while (!gradedep); 
     } 

    public static int mingrade(int mark, int days) { 
     int newmark; 

     if (mark < 40 && mark >=0) { 
      newmark = mark; 

     } else { 
      newmark = mark - 5; 

     return newmark; 
     } 
    } 
} 

LPU.java:40:エラー:不足しているreturn文 } ^ 1つのエラー

私はこのエラーがコードにいくつかのナンセンスで行うことです承知していますが、それを修正する方法がわかりませんよ。

+3

'else'の中に' return'を移動してください。 –

+0

'newmark'を' else'ブランチの**外**にしたいと思うようです。 –

+1

今後のヒントhttp://stackoverflow.com/help/how-to-ask – Tacolibre

答えて

2

これを試してみてください:

// delete newmark 
if (mark < 40 && mark >=0) { 

    return mark; 
} else { 

    return (mark -5); 
} 
3

移動return文をelse節の外に、このように:

public static int mingrade(int mark, int days) { 
     int newmark; 

     if (mark < 40 && mark >=0) { 
      newmark = mark; 
     } else { 
      newmark = mark - 5; 
     } 

     return newmark; 
    } 

をマークが40未満である場合は、あなたの記事でそれを持っている方法0以上の場合、newmarkが設定されますが、返されることはありません。

newmark変数をインスタンス化する必要もありません。これは、よりクリーンなアプローチになります。

public static int mingrade(int mark, int days) { 
     if (mark < 40 && mark >=0) { 
      return mark; 
     } else { 
      return mark - 5; 
     } 
    } 
関連する問題