2013-09-25 4 views
-3
public class homework 
{ 
    public static void intPow(int a, int b) 
    { 
     Math.pow(a,b); 
    } 


    public static void main(String args[]) 
    { 
     intPow(); 
    } 
} 

Я пытаюсь научиться создавать метод, но я продолжаю получать 10; ожидаемые ошибки. Я знаю, что этот код неверен, но я не могу найти способ правильно создать метод. В этом случае я пытаюсь создать метод, который возвращает a^b.Почему я получаю ошибку «ожидаемого»?

+3

Вы не переходят к 'intPow()' любого параметра? – Husam

+1

На какой строке вы получаете эту ошибку? Я вижу много неправильных, но не недостающих '.'. –

+1

Мне нравится, как ни один из 4 ответов FGITW не упоминал об отсутствии «возврата» или вывода. – Geobits

ответ

8

Вам необходимо пройти два int параметры в intPow():

public static void main(String args[]) 
    { 
     int a = 2; 
     int b = 5; 
     intPow(a, b); //32 
    } 

Кроме того, вы, вероятно, следует возвращать int из intPow(), так что вы можете играть с ним позже:

public static int intPow(int a, int b) { 
    return Math.pow(a, b); 
} 

Тогда в main():

public static void main(String args[]) 
    { 
     int a = 2; 
     int b = 5; 
     int power = intPow(a, b); //32 
     System.out.println(power); 
    } 
+0

В результате получается не 32, поскольку возвращаемый тип intPow() недействителен. –

+0

Спасибо, но мне просто интересно, почему вы должны указать переменные как в основном, так и в методе? Поскольку он говорит (a, b) в методе, почему это не относится к intPow() ;? – user2770254

+1

Подумайте об этом как о простоте заполнителя - что бы вы ни передали в 'intPow()' мы просто будем называть 'a' и' b' ** внутри ** этой функции. – Bucket

2

Вы объявляете intPow как функцию, которая принимает два параметра. Но когда вы называете это из основного, вы не проходите мимо. Чтобы это исправить, измените эту строку в основной -

intPow(); 

в

intPow(1, 2);//or whatever other numbers you want. 
3

проход twoint значения в intPow();

intPow(5,5); 

И в любом случае значение не будет напечатано.

Для печати необходимо использовать System.out.println().

3

Изменение

intPow();

в

intPow(2,3); // or any number

2
public class homework 
    { 
     public static int intPow(int a, int b) 
     { 
      return Math.pow(a,b); 
     } 


     public static void main(String args[]) 
     { 
      int a = 3; 
      int b = 4; 
      int result = intPow(a, b); 
      System.out.println(result); 
     } 
    } 
2

Если цель состоит в том, чтобы создать метод, который возвращает^Ь, метод должен возвращать значение. Вам, вероятно, нужно преобразовать в int, потому что Math.pow работает с двойными.

public static int intPow(int a, int b) { 
    return (int) Math.pow(a,b); 
} 

затем вызвать его с помощью двух параметров а и Ь:

int result = intPow(2, 3); 
Смежные вопросы