Member 12759772 Ответов: 2

Получение ошибки в основном классе, пожалуйста, разрешите.


import java.util.Scanner;
import static java.lang.Math;
public class Root1
{
	int a;
	int b;
	int c;
	double root1;
	public Root1(int a, int b, int c)
	{
		this.a=a;
		this.b=b;
		this.c=c;
	}
	public double calculateRoot1()
	{
		int d=calculateDeterminant();
		this.root1=(-b+Math.sqrt(d))/2*a;
		return root1;
	}
	public int calculateDeterminant()
	{
		int d= b*b-(4*a*c);
		return d;
	}
}
public class Root2
{
	int a;
	int b;
	int c;
	double root2;
	public Root2(int a, int b, int c)
	{
		this.a=a;
		this.b=b;
		this.c=c;
	}
	public double calculateRoot2()
	{
		int d=calculateDeterminant();
		this.root2=(-b+Math.sqrt(d))/2*a;
		return root2;
	}
	public int calculateDeterminant()
	{
		int d= b*b-(4*a*c);
		return d;
	}
}
public class RootMain
{
	Scanner input=new Scanner(System.in);
	System.out.println("Enter value of a");
	int a=input.nextInt();
	System.out.println("Enter value of b");
	int b=input.nextInt();
	System.out.println("Enter value of c");
	int c=input.nextInt();	
	public static void main(String args[])
	{
		Root1 r1= new Root1(a,b,c);
		System.out.println(r1.calculateRoot1);
		Root2 r2=new Root2(a,b,c);
		System.out.println(r1.calculateRoot2);
	}
}


Что я уже пробовал:

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

Patrice T

И у вас есть план, чтобы сказать нам, какое сообщение об ошибке и где ?

OriginalGriff

Что? И испортить сюрприз? :OMG:

Patrice T

лол

NotPolitcallyCorrect

Вероятно, вам следует сказать своему учителю, что они должны включить в ваш класс "как использовать отладчик".

NotPolitcallyCorrect

Если они не изменили правила, вы не можете иметь исполняемый код вне метода. У вас есть куча кода вне вашего основного метода. Но тогда чтение сообщения об ошибке, которое показала ваша среда сборки, может оказаться слишком большой проблемой.

Member 12759772

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

NotPolitcallyCorrect

Какое это имеет отношение к тому, что вы учитесь использовать отладчик?

2 Ответов

Рейтинг:
1

Richard MacCutchan

Вам не нужны дополнительные классы там, и у вас есть код вне вашего компьютера. main метод, так что это никогда не будет построено, не говоря уже о запуске. Видеть Учебные Пособия По Java™ [^] для получения информации о создании программы java.


Member 12759772

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

Richard MacCutchan

Нет, это совсем не так. Вам нужен только один класс, чтобы заставить эту программу работать. Если ваше задание настаивает на том, чтобы вы создали несколько классов, то вам нужно узнать о вложенных классах: см. http://docs.oracle.com/javase/tutorial/java/javaOO/nested.html[^].

Member 12759772

Да, вы правы, но я решил все эти ошибки и опубликовал решение, а также сердечно благодарю вас за все ваши предложения. Спасибо вам всем.

Richard MacCutchan

Вы действительно пытались запустить его? Даже после исправления синтаксических ошибок он не дает ответа.

Рейтинг:
0

Member 12759772

import java.util.Scanner;
import java.lang.Math;
class Root1
{
	int a;
	int b;
	int c;
	double root1;
	
	Root1(int x, int y, int z)
	{
		a=x;
		b=y;
		c=z;
	}
	public double calculateRoot1()
	{
		int d= b*b-(4*a*c);
		root1=(-b+Math.sqrt(d))/2*a;
		return root1;
	}
	
}
class Root2
{
	int a;
	int b;
	int c;
	double root2;
	Root2(int x, int y, int z)
	{
		a=x;
		b=y;
		c=z;
	}
	public double calculateRoot2()
	{
		int d= b*b-(4*a*c);
		root2=(-b-Math.sqrt(d))/2*a;
		return root2;
	}
	
}
public class RootMain
{
		
	public static void main(String args[])
	{
		Scanner input=new Scanner(System.in);
		System.out.println("Enter value of a");
		int a=input.nextInt();
		System.out.println("Enter value of b");
		int b=input.nextInt();
		System.out.println("Enter value of c");
		int c=input.nextInt();
			
		Root1 r1= new Root1(a,b,c);
		System.out.println("Value of Root 1 is:"r1.calculateRoot1());
		Root2 r2=new Root2(a,b,c);
		System.out.println("Value of Root 2 is:"r2.calculateRoot2());
	}
}