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()
{ p>
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) { p>
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);
}
}