Red de conocimiento informático - Aprendizaje de programación - Preguntas de programación sencillas en Java, con puntos extra

Preguntas de programación sencillas en Java, con puntos extra

Para la primera pregunta, x y n se ingresan como parámetros desde la línea de comando:

public class Test1{

public static void main(String[] args){

int argLen = args.length;

//Determinar si se pasan al menos dos parámetros

if (argLen lt; 2){

System.out.println("Ingrese dos parámetros enteros");

return

}

int x = 0; ;

int n = 0;

//Convierte los parámetros pasados. Si los parámetros de entrada son ilegales y no se pueden convertir al tipo int, el método Integer.parseInt generará un Excepción NumberFormatException

try{

x = Integer.parseInt(args[0]);

}

catch(NumberFormatException e)

{

System.out.println("El parámetro de entrada no es un número entero"

System.exit(1);

}

//Determinar si los valores de x y n son números positivos

if (xlt; = 0 || nlt;=0)

{

System.out.println("No se pueden ingresar valores negativos o 0, ingrese dos enteros positivos");

System.exit(1);

}

//Imprime las x y n convertidas

Sistema .out.println("Lo que ingresaste x y n son respectivamente: " x ", " n

/*

y=1 x/1 x*x*x); /3... x ^n/n

Calcula el resultado según la fórmula. Dado que y en la fórmula crece muy rápido, definimos una variable doble para almacenar el valor del resultado. Pero el desbordamiento todavía es muy posible. Si es necesario, puedes usar las clases del paquete matemático para manejar longitudes y precisiones arbitrarias, pero no me molestaré aquí.

*/

doble y = 1.0;

for (int i=1; ilt; =n; i =2)

{

y = Math.pow(x, i)/(double)i

}

//Imprimir el resultado

<; p >System.out.println("El resultado calculado según la fórmula y=1 x/1 x*x*x/3... x^n/n es: "

} // main()

} /* Test1 */

Para la segunda pregunta, el contenido del archivo test11.html requerido es el siguiente:

lt ; htmlgt;

lt;

lt; prueba11;/titlegt; lt ;bodygt;

lt;applet width="300" height="400" code="Test11.class"gt;lt;/appletgt

lt;/bodygt;

lt;/htmlgt;

Luego use appletviewer test11.html para explorar el subprograma (es posible que no se ejecute correctamente en el navegador).

El código java es el siguiente:

importar java.applet.Applet

importar java.awt.Graphics

importar; java.awt .Label;

clase pública Test11 extiende Applet{

//Define la distancia entre la posición del texto y la parte superior

private int posY = 200

etiqueta privada textsLabel = new Label("Supongo que verás que esta oración sigue desplazándote"

public void init()

{

textsLabel.setBounds(50, 200, 200, 30);

this.add(textsLabel);

//Iniciar un nuevo hilo

SecThread st = new SecThread();

st.start();

} // init()

pintura pública vacía (Gráficos g) {

super.paint(g);

} //paint()

//Definir una clase interna para iniciar un nuevo hilo

clase privada SecThread extiende Thread{

public void run()

{

while(true){

// Deje que el hilo actual duerma durante 50 milisegundos. Tenga en cuenta que el método de suspensión arrojará InterruptedException

try{

Thread.sleep(50

}

; p>

catch(InterruptedException e){

System.out.println("Error durante la ejecución");

System.exit(1); p> }

//Establece la nueva posición del texto

posY -= 5;

//Determina si es menor que 0 (es decir , ha llegado a la cima), si es menor que 0 Luego restablezca a 400

posY = (posYlt; =0?400: posY

textsLabel.setBounds(50); , posY, 200, 30);

Test11.this.repaint();

}

}

}

} /* Prueba2 */

Las preguntas 3 y 4 son realmente muy simples, así que las omitiré.

¡Encontré tu publicación!

Escribe 3 y 4 también:

3. Consulta 2 para conocer el método de ejecución:

importar java.applet.Applet;

importar java.awt.Graphics;

la clase pública Test111 extiende el subprograma

{

pintura pública vacía (Gráficos g)

{

for (int i=1; ilt; =10; i) //Dibuja una línea horizontal

{

g.drawLine(20, i *20 , 200, i*20);

}

for (int j=1; jlt;=10; j) //Dibuja una línea vertical

{

g.drawLine(j*20, 20, j*20, 200); }

}

p>

4. El código es el siguiente: (Dijiste cómo cambiar el programa que se ha escrito en un subprograma. Recuerda, el subprograma automáticamente llama a los métodos init, start y paint cuando se ejecuta, mientras que la aplicación normal llama al método principal. Siempre que simplemente mueva el contenido del método principal a estos tres métodos correctamente, pero tenga cuidado de no introducir errores al realizar modificaciones.

)

//Ingrese tres números cualesquiera, incluidos los decimales, y luego compare sus tamaños

importar java.applet.Applet;

importar java.awt .Graphics ;

importar java.awt.Button;

importar java.awt.event.ActionListener;

importar java.awt.event.ActionEvent;

importar javax.swing.JOptionPane;

la clase pública Test1111 extiende el subprograma

{

pintura vacía pública (Gráficos g)

{

this.setLayout(null);

Botón btn = new Botón("Comenzar a escribir");

btn.setBounds(100, 130). , 100, 30);

btn.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e)

{

sort();

}

});

this.add(btn); > }

private void sort()

{

//matriz de cadenas de 3 elementos para almacenar el número de entrada

String[ ] numberStrs = new String[3];

for (int i=0; ilt; numberStrs.length; i)

{

//Si el Se presiona el botón cancelar durante la entrada, continúa solicitando entrada

while(numberStrs[i] == null)

{

numberStrs[i] = JOptionPane .showInputDialog("Ingrese el número " (i 1) "");

}

}

//Defina 3 elementos de matriz doble y almacene los convertidos. valores

doble[] números = nuevo doble[3];

intente

{

for (int j=0; jlt ; números.longitud; j )

{

números[j] = Double.parseDouble(numberStrs[j]);

}

}

catch(NumberFormatException e)

{

JOptionPane.showMessageDialog(null, "¡La entrada no es un número!"

, "ERROR", JOptionPane.ERROR_MESSAGE

);

System.exit(1);

}

String resultado = ""

resultado = "Lo que ingresaste Los números son: ";

for (int k=0; klt; números.length-1; k)

{

resultado = números[k ] ", ";

}

resultado = números[numbers.length-1] "\n";

//Simple, usa clasificación de burbujas

for (int i=1; ilt; números.longitud; i )

{

for (int j=0; jlt; números.longitud- 1 ; j )

{

if (números[j] gt; números[j 1])

{

doble temp = números[j];

números[j] = números[j 1];

números[j 1] = temporal;

}

}

}

resultado = "Los números ordenados son: "

for (int k=0; klt; números.longitud -1; ; k )

{

resultado = números[k] ", "

}

resultado = números[números .longitud -1];

//Resultado de salida

JOptionPane.showMessageDialog(null, resultado, "Resultado", JOptionPane.PLAIN_MESSAGE);

}

}