En el siguiente ejemplo tenemos una baraja que consta de 10 cartas que vamos a mezclar aleatoriamente para luego mostrarlo en pantalla.
Codigo:
//Números aleatorios sin repetición
package aleatorisinrepeticion;
import java.util.Stack;
public class AleatoriSinRepeticion {
public static void main(String[] args) {
int pos;
int nCartas = 10;
Stack < Integer > pCartas = new Stack < Integer > ();
for (int i = 0; i < nCartas ; i++) {
pos = (int) Math.floor(Math.random() * nCartas );
while (pCartas.contains(pos)) {
pos = (int) Math.floor(Math.random() * nCartas );
}
pCartas.push(pos);
}
System.out.println("Núm. aleatorios sin repetición:");
System.out.println(pCartas.toString());
}
}
Resultado:
run:
Núm. aleatorios sin repetición:
[2, 8, 5, 7, 6, 3, 0, 9, 4, 1]
BUILD SUCCESSFUL (total time: 0 seconds)
Una forma sencilla y rápida de aprender JAVA, observando y deduciendo cómo se comporta el lenguaje a través de ejemplos prácticos.
Archivo del blog
domingo, 20 de enero de 2013
jueves, 3 de enero de 2013
Pasar vector a Matriz
Codigo:
package vectortaula;
public class VectorTaula {
public static void main(String[] args) {
int vDist[] = {774, 647, 192, 754, 515, 578, 861, 947, 253};
int n= (int)Math.sqrt(vDist.length);
int taula[][] = new int[n][n];
int cont = 0;
for (int x = 0; x < n; x++) {
for (int y = 0; y < n; y++) {
taula[y][x] = vDist[cont];
cont++;
}
}
MostrarTaula(taula, n);
}
private static void MostrarTaula(int[][] taula, int n) {
System.out.println("Matriz:");
String str = "";
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
str += taula[j][i] + "\t";
}
System.out.println(str);
str = "";
}
}
}
Resultado:
run:
Matriz:
774 647 192
754 515 578
861 947 253
BUILD SUCCESSFUL (total time: 0 seconds)
package vectortaula;
public class VectorTaula {
public static void main(String[] args) {
int vDist[] = {774, 647, 192, 754, 515, 578, 861, 947, 253};
int n= (int)Math.sqrt(vDist.length);
int taula[][] = new int[n][n];
int cont = 0;
for (int x = 0; x < n; x++) {
for (int y = 0; y < n; y++) {
taula[y][x] = vDist[cont];
cont++;
}
}
MostrarTaula(taula, n);
}
private static void MostrarTaula(int[][] taula, int n) {
System.out.println("Matriz:");
String str = "";
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
str += taula[j][i] + "\t";
}
System.out.println(str);
str = "";
}
}
}
Resultado:
run:
Matriz:
774 647 192
754 515 578
861 947 253
BUILD SUCCESSFUL (total time: 0 seconds)
Pasar vector a Matriz Simétrica.
Se puede utilizar para tablas de distancias entre nodos, donde la distancia entre el nodo A y el B y viceversa son equivalentes.
Codigo:
package taulatriangular1;
public class TaulaTriangular1 {
public static void main(String[] args) {
int nNodes = 5;
int vDist[] = {774, 647, 192, 754, 515, 578, 861, 947, 253, 496};
int taula[][] = new int[nNodes][nNodes];
int cont = 0;
for (int i = 0; i < nNodes; i++) {
for (int j = 0; j < nNodes; j++) {
if (j == i) {
taula[i][j] = 0;
}
if (j > i) {
taula[i][j] = vDist[cont];
taula[j][i] = taula[i][j];
cont++;
}
}
}
mostrarTaula(taula, nNodes);
}
private static void mostrarTaula(int[][] taula, int nNodes) {
String str = "";
for (int i = 0; i < nNodes; i++) {
for (int j = 0; j < nNodes; j++) {
str += taula[i][j] + "\t";
}
System.out.println(str);
str = "";
}
}
}
Resultado:
run:
0 774 647 192 754
774 0 515 578 861
647 515 0 947 253
192 578 947 0 496
754 861 253 496 0
BUILD SUCCESSFUL (total time: 0 seconds)
Codigo:
package taulatriangular1;
public class TaulaTriangular1 {
public static void main(String[] args) {
int nNodes = 5;
int vDist[] = {774, 647, 192, 754, 515, 578, 861, 947, 253, 496};
int taula[][] = new int[nNodes][nNodes];
int cont = 0;
for (int i = 0; i < nNodes; i++) {
for (int j = 0; j < nNodes; j++) {
if (j == i) {
taula[i][j] = 0;
}
if (j > i) {
taula[i][j] = vDist[cont];
taula[j][i] = taula[i][j];
cont++;
}
}
}
mostrarTaula(taula, nNodes);
}
private static void mostrarTaula(int[][] taula, int nNodes) {
String str = "";
for (int i = 0; i < nNodes; i++) {
for (int j = 0; j < nNodes; j++) {
str += taula[i][j] + "\t";
}
System.out.println(str);
str = "";
}
}
}
Resultado:
run:
0 774 647 192 754
774 0 515 578 861
647 515 0 947 253
192 578 947 0 496
754 861 253 496 0
BUILD SUCCESSFUL (total time: 0 seconds)
Suscribirse a:
Entradas (Atom)
Con la tecnología de Blogger.