Java - Ayuda Con ejercic

 
Vista:
sin imagen de perfil

Ayuda Con ejercic

Publicado por Marvin (1 intervención) el 27/05/2017 04:19:31
Hola tengo una actividad y la neta no estoy entendiendo Java alguien que me diga que esta mal por que no corre este es el ejercicio:

Escribe una aplicación que cree un arreglo de 10 caracteres que contenga un ‘*’ en la casilla 0 y ‘#’ en las demás casillas (*#########). El usuario tecleará un número que indicará hacia dónde se debe mover el asterisco. Si el número es positivo el asterisco se debe mover hacia la derecha. Si el número es negativo el asterisco se debe mover hacia la izquierda. Si el número es cero se termina el programa. El programa debe emplear excepciones para controlar que el asterisco no se salga del arreglo. En lugar de salirse del arreglo el asterisco debe quedar en el límite.

Y de codigo llevo esto

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
package matrices;
import java.util.Scanner;
 
/**
 *
 * @author MarvinPacheco
 */
public class Matrices {
    public static String[] matriz  = new String[9];
    public static int numero = 0;
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner lector;
        int numero1 = 0;
 
        matriz[0] = "*";
        matriz[1] = "#";
        matriz[2] = "#";
        matriz[3] = "#";
        matriz[4] = "#";
        matriz[5] = "#";
        matriz[6] = "#";
        matriz[7] = "#";
        matriz[8] = "#";
        matriz[9] = "#";
        try{
            System.out.println("Ingresa un numero por favor");
            lector = new Scanner(System.in);
            numero = Integer.parseInt(lector.nextLine());
            if(numero > 0 & numero < 11){
                matriz[0] = "#";
                matriz[numero] = "*";
                numero1 = numero;
            }else if(numero == 0){
                return;
            }else{
                if(numero < 0 & numero > -9){
                    if(Math.abs(numero)< Math.abs(numero1)){
                        matriz[numero1]="#";
                        matriz[numero1 - numero]="*";
                    }
                }
            }
        }
        catch(NullPointerException ex){
            matriz[0] = "*";
            matriz[1] = "#";
            matriz[2] = "#";
            matriz[3] = "#";
            matriz[4] = "#";
            matriz[5] = "#";
            matriz[6] = "#";
            matriz[7] = "#";
            matriz[8] = "#";
            matriz[9] = "#";
        }finally{
 
        }
 
    }
 
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 9
Ha aumentado 1 puesto en Java (en relación al último mes)
Gráfica de Java

Ayuda Con ejercic

Publicado por Manuel Alejandro (2 intervenciones) el 28/05/2017 13:04:06
entendiste mal el ejercicio
debes tener una variables indice que te indique donde esta el asterisco, y otra variable distinta
numero con la que lees el numero que te entra el usuario, entonces lo que debes comprobar que este
entre 0...9 es el indice del asterisco y no el numero que lees, ademas en tu codigo no haces ningun ciclo

mejor lo podrias hacer asi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner( System.in );
 
        char s[] = {'*','#','#','#','#','#','#','#','#','#'};
        int ind = 0;
 
        while( true ){
            System.out.println(s);
 
            System.out.print("Ingresa un numero por favor: ");
            int numero = in.nextInt();
 
            if( numero == 0 ){
                break;
            }
 
            if( numero > 0 ){
                if( ind == 9 ){
                    System.out.println("Movimiento invalido");
                    continue;
                }
 
                s[ind] = '#';
                s[++ind] = '*';
            }
            else{
                if( ind == 0 ){
                    System.out.println("Movimiento invalido");
                    continue;
                }
 
                s[ind] = '#';
                s[--ind] = '*';
            }
        }
 
        System.out.println("Programa Finalizado");
    }
 
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
Imágen de perfil de karina jasso

Ayuda Con ejercic

Publicado por karina jasso (1 intervención) el 25/09/2017 01:53:00
Muchas gracias , me ayudo tu ejercicio :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar