2017-01-29 5 views
1

Попытка вызова метода в рамках метода.попытка вызова метода в рамках метода

public static void main(String[] args) { 

    int sq,cu=0; 

    //user input 1 
    sq=Integer.parseInt(JOptionPane.showInputDialog(
      "Enter value to be squared")); 
    //user input 2 
    cu=Integer.parseInt(JOptionPane.showInputDialog(
      "Enter value to be cubed")); 
    //results 
    JOptionPane.showMessageDialog(null, sqd(sq)); 
    JOptionPane.showMessageDialog(null, cbd(cu)); 


} 
public static String sqd(int sq){ 
    int sqd=sq*sq; 
    //sq computation 
    return sq+" squared is "+sqd; 
} 
public static String cbd(int cu,int sqd){ 
    int cbd; 
    cbd=sqd*cu; 
    //cu computation 
    return cu+" cubed is "+cbd; 
} } 

вызова значение Sqd в КБР, но

JOptionPane.showMessageDialog(null, cbd(cu)); 

мешает мне делать это, он всегда дает мне ошибку, когда я запускаю его.

+2

* "дает мне ошибку" * - какая ошибка? – luk2302

+2

Вы получаете сообщение об ошибке, потому что 'cbd' принимает два параметра, пока вы передаете только один –

ответ

1

ваш метод cbd(int cu, int sqd) необходим входные параметры, вы вызываете его только один параметра cbd(cu)

два варианта:

1 - переписать метод cbd с 1 параметром, то вы можете вызвать его с помощью cbd(cu);

public static String cbd(int cu){ 
    return cu + " cubed is " + (cu*cu*cu); 
} 

2 - написать это второй параметр при использовании его:

cbd(cu,cu*cu); 
+0

, как я напишу второй параметр? – lkcs26

+0

'cbd (cu, cu * cu)' –

+0

спасибо! теперь это исправлено. но мне любопытно, почему это работает? – lkcs26

1

Ваш метод cbd, как он определяется в настоящее время, принимает два аргумента: cu и sqd. Если вы хотите сохранить путь ваш main называет его, вы должны переписать его только с одним аргументом:

public static String cbd(int cu){ 
    int cbd = cu * cu * cu; 
    return cu + " cubed is " + cbd; 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^