Java添加了一个数字程序错误的结果

Sal*_*ini 1 java

在我的程序中逻辑如下: -

Input      Addition with      Output(result)
2            3                   5
3            3+4                10
4            3+4+4              15
5            3+4+4+4            20
6            3+4+4+4+4          25
Run Code Online (Sandbox Code Playgroud)

所以,我做了: -

import java.util.Scanner;

public class Addition {

           public static void main( String[] args) {
              @SuppressWarnings("resource")

            Scanner s = new Scanner(System.in);

              int result=0;

              System.out.print("Enter a number: ");

              int inputNumber = s.nextInt();

              if(inputNumber==2){
                  result = inputNumber+3; 

              }

              else{
                  Addition c=new Addition();


                      int j = inputNumber-2;

                      int power=c.pow(4,j);



                      result = inputNumber+3+power;


              }
              System.out.print(result);  

           }
          int pow(int c, int d)
             {       
                      int n=1;
                      for(int i=0;i<d;i++)
                      {
                               n=c*n;
                      }

                    return n;
             } 
}
Run Code Online (Sandbox Code Playgroud)

在这个程序中我得到的结果: -

 Input               Output(result)
    2                        5
    3                       10
    4                       23
    5                       72
Run Code Online (Sandbox Code Playgroud)

为什么?我究竟做错了什么??

小智 5

你把'权力'与乘法混淆了.

int power=c.pow(4,j);
Run Code Online (Sandbox Code Playgroud)

应该只是:

int power= 4 * j;
Run Code Online (Sandbox Code Playgroud)