Applet

Ola gostaria de uma ajuda para faze esse programa em applet, os codigos seguem abaixo:

import Math.*;
public class bascara {
   public static int delta(int a, int b, int c) {
      int resultado = (b*b)-(4*a*c);
      return resultado;
   }
   public static void raizes(int delta, int a, int b) {
      if (delta>0) {
         float dd = (float)Math.sqrt(delta);
         float x = (-b + dd)/2*a;
	 float x1 = (-b - dd)/2*a;
         System.out.println("33[2J");
         System.out.println("

 X1="+x+"
 X2= 
"+x1);
      }
      else if (delta<0) {
         float dd = (float)Math.sqrt(-delta);
         float x = -b/2*a;
         float x1 = dd/2*a;
	 float x2 = -dd/2*a;
         System.out.println("33[2J");
         System.out.println("

 X1="+x+x1+"j

X2="+x+x2+"j 
");
      }
      else {
         float x = -b/2*a;
	 System.out.println("33[2J");
         System.out.println("
 X= 
"+x);

      }
   }
  }
import Math.*;
public class main{
static public void main(String[] args) {
      bascara main= new bascara();
      if(args.length<3) {
         System.out.println("33[2J");
         System.out.println("Use:java bascara [num1] [num2] [num3] 
");
         System.exit(0);

      }
      int a=Integer.parseInt(args[0]);
      int b=Integer.parseInt(args[1]);
      int c=Integer.parseInt(args[2]);
      int ddd=main.delta(a,b,c);
      main.raizes(ddd,a,b);
   }
}

para transformar um aplicativo para uma Applet crie o metodo “init” que serve como construtor e o método “paint” para desenhar na tela…

no método init pode-se recuperar os parâmetros passados para a Applet, veja no html:

import java.applet.Applet;
import java.awt.Graphics;

public class MainApplet extends Applet
{
	int a,b,c;
			
	public void init()
	{
		a = Integer.parseInt(getParameter("a"));
		b = Integer.parseInt(getParameter("b"));
		c = Integer.parseInt(getParameter("c"));  
	}
	
	public void paint(Graphics g)
	{
		bascara main = new bascara();

		int ddd = bascara.delta(a, b, c);
		String result = bascara.raizes(ddd, a, b);
		
		g.drawString(result, 50, 50);
	}
}
<HTML>
<HEAD>
</HEAD>
<BODY BGCOLOR="000000">
<CENTER>
<APPLET code = "MainApplet.class" width="500" height="300">
		<param name="a" value="1">
		<param name="b" value="-5">
		<param name="c" value="6">
</APPLET>
</CENTER>
</BODY>
</HTML>

altere a classe bascara para retornar a String com o resultado, assim vc usa o método “paint” para mostrar o resultado na tela.

public class bascara
{
	public static int delta(int a, int b, int c)
	{
		int resultado = (b * b) - (4 * a * c);
		return resultado;
	}
	public static String raizes(int delta, int a, int b)
	{
		if (delta > 0)
		{
			float dd = (float) Math.sqrt(delta);
			float x = (-b + dd) / 2 * a;
			float x1 = (-b - dd) / 2 * a;
			//System.out.println("33[2J");
			//System.out.println(" X1=" + x + " X2= " + x1);
			return "33[2J" + "
" + " X1=" + x + " X2= " + x1;
		}
		else if (delta < 0)
		{
			float dd = (float) Math.sqrt(-delta);
			float x = -b / 2 * a;
			float x1 = dd / 2 * a;
			float x2 = -dd / 2 * a;
//			System.out.println("33[2J");
//			System.out.println(" X1=" + x + x1 + "j X2=" + x + x2 + "j ");
			return "33[2J" + "
" + " X1=" + x + x1 + "j X2=" + x + x2 + "j ";
		}
		else
		{
			float x = -b / 2 * a;
//			System.out.println("33[2J");
//			System.out.println(" X= " + x);
			return "33[2J" + "
" + " X= " + x;
		}
	}
}

mas tipo o ultimo codigo ta certo desse jeito mesmo com os comentarios(//)?

pode ignorar os comentários…

eu alterei o método para retornar uma String, pois precisava da String para mostrar no browser, então só comentei o System.out.println()… pois isto não era necessário na Applet e criei uma linha que dava um return…

depois no método paint() pode-se mostrar a String com o g.drawString…