2013-04-13 7 views
0

Я относительно новичок в Java, и я решил сделать эту программу, потому что казалось довольно простой задачей начать учиться играть с методами. в любом случае это моя программа, поскольку она стоит прямо сейчас.Я получаю сообщение об ошибке: «.class» ожидается

import javax.swing.JOptionPane; 
    public class smallAverage{ 
    public smallAverage getsmall() { 

      String sd1 = JOptionPane.showInputDialog("What is the first number?"); 
    double sdx = Double.parseDouble (sd1); 
      String sd2 = JOptionPane.showInputDialog("What is the second number?"); 
    double sdy = Double.parseDouble (sd2); 
      String sd3 = JOptionPane.showInputDialog("What is the third number?"); 
    double sdz = Double.parseDouble (sd3); 

      return double sdx; 
    return double sdy; 
    return double sdz; 
    } 

    public smallAverage getavg() { 

      String ad1 = JOptionPane.showInputDialog("What is the first number"); 
    double adx = Double.parseDouble (ad1); 
      String ad2 = JOptionPane.showInputDialog("What is the second number"); 
    double ady = Double.parseDouble (ad2); 
      String ad3 = JOptionPane.showInputDialog("What is the third number"); 
    double adz = Double.parseDouble (ad3); 


      return double adx; 
    return double ady; 
    return double adz; 
    } 

    public smallAverage work() { 
    double small = Math.min(sdx, sdy, sdz); 
    double avg = (adx + ady + adz)/3; 

      System.out.println("The smallest of "+ sdx+ sdy+ sdz+ " is " + small + ", and the average of"+ adx+ ady+ adz+ " is "+ avg+ "."); 
    } 
    } 

Реальная математика здесь происходит на самом деле ничего не значит для меня, его способ код работает, что я хочу узнать. Я пробовал переписывать этот код по-разному, но это, похоже, ближе всего к правильному. Я просто понятия не имею, почему это не сработает. , когда я пытаюсь скомпилировать через терминал я получаю это:

smallAverage.java:12: error: '.class' expected 
        return double sdx; 
           ^
    smallAverage.java:13: error: '.class' expected 
      return double sdy; 
         ^
    smallAverage.java:14: error: '.class' expected 
      return double sdz; 
         ^
    smallAverage.java:27: error: '.class' expected 
        return double adx; 
           ^
    smallAverage.java:28: error: '.class' expected 
      return double ady; 
         ^
    smallAverage.java:29: error: '.class' expected 
      return double adz; 
         ^
    6 errors 

Любая помощь будет принята с благодарностью

+0

Ваш код не так во многих отношениях, включая ваши методы, которые определяют, что они возвратят объекты smallAverage. Перечитайте главу о том, как создавать методы. –

ответ

3

Когда вы вернетесь, вам не нужно больше спецификатор типа:

return double adx; 
return double ady; 
return double adz; 

должно быть

return adx; 
return ady; 
return adz; 

та же ошибка другие три.

Между тем.

public smallAverage getsmall() 

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

return adx; 
return ady; //two return statements below will never be reached. 
return adz; 

Те фундаментальные ошибки, вы, вероятно, необходимо рассмотреть некоторые основные Java учебники: Java Tutorial

+0

@TiredAndWorking приветствуется. – taocp

+0

спасибо за помощь. Я пошел по ссылке, и она начала меня по правильному пути. Если кто-либо нашел это в поисковой системе, просто перейдите по ссылке. [Если вам нужны подсказки, вот 3; 1:) Я снова переписал весь код, чтобы он работал. 2 :) Вы должны указать некоторые рекомендации для ссылочных методов. 3 :) Обратите внимание на свой тип возврата.] – TiredAndWorking

0

вам просто нужно сделать, т.е.

return sdx; 

, потому что тип не требуется, как вы уже определены во время объявления sdx.

Порекомендовал бы использовать некоторую среду IDE, такую ​​как Eclipse, поскольку она указывает ошибку компиляции, даже не запуская программу. Его очень полезно для разработки

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