viernes, 27 de septiembre de 2013

[JAVA] Practica guiada conociendo el entorno de java


Les dejo una pequeña practica guiada de como empezar a conocer Java


martes, 24 de septiembre de 2013

[Java] Dibujar un triangulo usando la longitud de sus lados

 

Es algo un poco complicado de calcular la verdad pero le dejo una buena idea

triangulo



import java.util.Scanner;
import java.awt.*;
import java.util.HashSet;

import javax.swing.JFrame;
import javax.swing.JOptionPane;


public class Triangulo {

public static void main(String[] args) {



Scanner reader = new Scanner(System.in);


System.out.print("Dame el primer lado de triangulo (mas pequeño)");
int a = reader.nextInt();
System.out.println ("Segundo lado del triangulo");
int b = reader.nextInt();
System.out.println ("Tercer lado del triangulo ");
int c = reader.nextInt();

// System.out.print(area);
//AQUI DIBUJA EL TRIANGULO

DibujaTriangulito dibuja = new DibujaTriangulito("Dibujo Triangulito",a,b,c);

dibuja.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
dibuja.setVisible(true);
dibuja.setSize(500, 400);
}

}

class DibujaTriangulito extends JFrame {

private int a;
private int b;
private int c;

public DibujaTriangulito(String title, int a, int b, int c)
{
super(title);
this.a=a;
this.b=b;
this.c=c;
}

public void paint(Graphics g){
super.paint(g);
Graphics2D g2d = (Graphics2D) g;
int inicialX=20;
int inicialY=380;
g.drawLine(inicialX, inicialY, inicialX+(a*30), inicialY);

int radio = b*15;
HashSet c1 = new HashSet();
HashSet c2 = new HashSet();
for (double grados = 0; grados<(2*Math.PI); grados=(grados+(Math.PI/(b*30)))) {
double x = (Math.cos(grados)*radio)+inicialX;
double y = (Math.sin(grados)*radio)+inicialY;
int xInt= (int)x;
int yInt =(int)y;
c1.add(new Puntito(xInt, yInt));
//Ellipse2D ellipse = new Ellipse2D.Double(x-1, y-1, 1, 1);
//g2d.draw(ellipse);
}
System.out.println("-----------------");
radio=c*15;
for (double grados = 0; grados<(2*Math.PI); grados=(grados+(Math.PI/(c*30)))) {
double x = (Math.cos(grados)*radio)+inicialX+(a*30);
double y = (Math.sin(grados)*radio)+inicialY;
int xInt= (int)x;
int yInt =(int)y;
//Ellipse2D ellipse = new Ellipse2D.Double(x-1, y-1, 1, 1);
//g2d.draw(ellipse);
c2.add(new Puntito(xInt, yInt));
}

int lapsoX=0;
int lapsoY=0;
for(Puntito punto:c1){
for (Puntito puntito : c2) {
if(punto.equals(puntito)){
System.out.println("x: " + punto.getX());
lapsoX=punto.getX();
System.out.println("Y: " + punto.getY());
lapsoY=punto.getY();
}
}
}

if(lapsoX==0)
JOptionPane.showMessageDialog(null, "No hay manera de hacer circulo");
else
{
g.drawLine(inicialX, inicialY, lapsoX, lapsoY);
g.drawLine(lapsoX, lapsoY, inicialX+(a*30), inicialY);
}
}
}

class Puntito {
private int x;
private int y;

public Puntito(int x, int y) {
this.x = x;
this.y = y;
}

public int getX() {
return x;
}

public int getY() {
return y;
}

@Override
public boolean equals(Object obj) {
Puntito punt = (Puntito)obj;
int variX = Math.abs(x-punt.getX());
int variY = Math.abs(y-punt.getY());
if((variX<2&& variY<1) && punt.getY()<380 )
return true;
else
return false;

}

}



[Java] Generar la secuencia del triangulo de pascal


Un poco de código para practicar un poco
import java.util.Scanner;

public class Triangulo {    
    public static void main(String[] args) {
        int arre1[]=null;
        int arre2[]=null;
        System.out.println("Dame un numero");
        int num = new Scanner(System.in).nextInt();
        for(int i=0;i            arre2=new int[i+1];
            if(arre2.length==1){
                System.out.println("1");
               arre2[0]=1;
            }
            else
            {
                for(int j=0;j<=i;j++)
                {
                    if(j==0 || j==arre2.length-1)
                    {System.out.print("1 ");
                      arre2[j]=1;
                    }   
                    else {
                         arre2[j]=arre1[j-1]+arre1[j];
                        System.out.print(arre1[j-1]+arre1[j] + " ");
                        } 
                }
                System.out.println("");
            }
            arre1=arre2;
        }
    }
    
}