2015-02-26 1 views
-2

Сначала была ошибка в том, что переменные в параметрах объекта не инициализируются. Затем он начал выдавать эту ошибку при инициализации, исключение в потоке «main» java.lang.NoSuchMethodError: Triangle. (DD) V в testTriangle.main (testTriangle.java:6). Пожалуйста помоги!дает мне эту ошибку: Исключение в теме "main" java.lang.NoSuchMethodError: Triangle. <init> (DD) V в testTriangle.main (testTriangle.java:6)

// main class 
    import java.util.Scanner; 
    public class testTriangle{ 
     public static void main(String [] args){ 
      double xcoord = 0,ycoord = 0; 
      Scanner scan = new Scanner(System.in); 
      Triangle object = new Triangle(xcoord,ycoord); 

      System.out.println("Welcome to the hypothenuse finder!"); 
      System.out.println("Please input the first value(x): "); 
      xcoord = scan.nextDouble(); 




      System.out.println("Please input the second value(y): "); 
      ycoord = scan.nextDouble(); 

      object.radi(); 
      object.toString(); 
     } 
    } 

    import java.lang.Math.*; 
    public class Triangle{ 
     double x; 
     double y; 

     public Triangle(double xcoord,double ycoord){ 
      x = xcoord; 
      y = ycoord; 
     } 
     public double radi(){ 
      return(Math.sqrt(Math.pow(x,2)+Math.pow(y,2))); 

     } 
     public void toString(){ 
      System.out.printf("The x value is: " + x + " the y value is: " + y + " and the radius is : ", radi()); 
     } 

    } 
+0

Я серьезно сомневаюсь, что сообщение об ошибке меняется перед вашими глазами! Вы должны были внести изменения в код и/или среду. –

+0

ваш код компиляции? – SMA

+0

Перекомпилируйте два класса одновременно. Кажется, вы запускаете новую версию testTriangle со старой версией Triangle. И, пожалуйста, соблюдайте соглашения об именах Java. Классы начинаются с буквы верхнего регистра. –

ответ

0

Я получил свой код, чтобы работать, поставив на 2 класса в там собственные файлы классов, и я также изменил это название метода toString(), потому что есть уже встроенный метод называется toString(). Поэтому я изменил его на string() и, похоже, он работает.

TestTriangle Класс:

import java.util.Scanner; 
public class TestTriangle{ 
    public static void main(String [] args){ 
     double xcoord = 0,ycoord = 0; 
     Scanner scan = new Scanner(System.in); 
     Triangle object = new Triangle(xcoord,ycoord); 

     System.out.println("Welcome to the hypothenuse finder!"); 
     System.out.println("Please input the first value(x): "); 
     xcoord = scan.nextDouble(); 




     System.out.println("Please input the second value(y): "); 
     ycoord = scan.nextDouble(); 

     object.radi(); 
     object.string(); 
    } 
} 

Треугольник Класс:

public class Triangle { 
double x; 
double y; 

public Triangle(double xcoord,double ycoord){ 
    x = xcoord; 
    y = ycoord; 
} 
public double radi(){ 
    return(Math.sqrt(Math.pow(x,2)+Math.pow(y,2))); 

} 

public void string(){ 
    System.out.printf("The x value is: " + x + " the y value is: " + y + " and the radius is : ", radi()); 
} 
} 
Смежные вопросы