Galera, de-me uma ajuda

9 respostas
J

Galera, alguem poderia fornecer a solução deste programa??
Eu consegui começar a fazer mas ainda to muito verde, principalmente a parte de entrada pelo teclado… Como fazer isso??

Eis o programa:

Construa e teste uma classe que contenha métodos que permitam transformar um número em algarismo romano (representado através de um String) no seu valor numérico (inteiro) correspondente. Teste usando a entrada via teclado.

Aguardo galera…

Valew… Valew msmo…
:cry:

9 Respostas

J

Galera, de uma ajuda p/ min, ao menos p/ indicar como posso fazer uma leitura pelo teclado, onde a entrada sera o parametro p/ eu transformar-lo em numero inteiro, ja que a entrada sera um numero romano…

help-me 8O

M

…para ler um valor inteiro

int valor = Integer.parseInt( javax.swing.JOptionPane.showInputDialog( "Digite um inteiro" ) );
J

matheus, blz…

kra, a entrada sera uma string e nao poderei usar o swing… sera tdo via DOS msmo, através de passagem de parametro, ta ligado… vou ter de usar o STRING[] args, esse argumento sera a entrada pelo meu teclado, e sera uma string, ai, depois terei de converte-la a um numero natural, correspondente ao digitado em romano(string) entendew…??

valews…

aguardo…

M

bem, o args[0] é o primeiro parametro passado… o args[1] o segundo… e assim por diante… por ex:

public class Test {

   public static void main( String args[] )
   {
      for ( int i = 0; i < args.length; i++ )
         System.out.println( args[i] );
   }
}

…vc pode chamar com (por ex):

> java Test a b c d e

…e pode transformar a qualquer hr com Integer.parseInt( “string” ) para inteiro… ou double.parseDouble()
…e, creio q vc tera q ter um vetor de String com a representação dos numeros romanos… (I, II, III, IV, V, …) pra então comparar com o parametro de main…

J

valew matheus… com essa dica ja estou em andamento…

valews msmo kra…

thanks… :lol:

J

matheus, é o seguinte…

terei de fazer um construtor com um vetor com a representação dos romanos e dentre deste fazer um CASE p/ comparar ou não??

Ou sera q faço o construtor com o vetor e depois comparo com main, na propria area do main e ai sim, utilizo IF ou Case??

faca uma esboco p/ min, se puder...

de + uma ajuda, pois ja tenho de entrega-lo… blz matheus…

aguardo…
valew

J

Kra, olha só.. Não liga nao hein....

public class Test {

  private String[] names;

  public Test(String[] comp)
  {
    names = comp;
    names[0] = "I";
    names[1] = "V";
  }	

  public static void main( String args[] )
  {
    for ( int i = 0; i < args.length; i++ )
    {
      System.out.println( args[i] );
      for (int j = 0; j < names.length; j++)
      {
        if (names[j].equals(args[i]))
        System.out.printl("OK" +i +j);
      }
    }
  }
}

Esse é o codigo, mas nao ta dando certo... Olha o erro:

-Called Compiler C:\J2SDK1~1.1_0\bin\javac.exe-
-Target File: C:\ProgJava\FACULD~1\Test.java-
C:\ProgJava\FACULD~1\Test.java:18: non-static variable names cannot be referenced from a static context
for (int j = 0; j < names.length; j++)
^
C:\ProgJava\FACULD~1\Test.java:20: non-static variable names cannot be referenced from a static context
if (names[j].equals(args[i]))
^
C:\ProgJava\FACULD~1\Test.java:21: non-static variable names cannot be referenced from a static context
System.out.printl("Encontrou:" +args +"= a :" +names);
^
C:\ProgJava\FACULD~1\Test.java:21: cannot resolve symbol
symbol : method printl (java.lang.String)
location: class java.io.PrintStream
System.out.printl("Encontrou:" +args +"= a :" +names);
^
4 errors

No q q eu to vacilando... Além disso, nao deveria criar um objeto tb, com o new??

kra, aguardo novamente sua ajuda.... to qse loko aqui.... blz.. valew matheus...

valew msmo 8O

[size="11"][color="green"]* Utilize CODE em seus códigos - matheus[/color][/size]

H

Você está tentando usar uma variável global em um contexto estático, para que isso possa ser feito a variável precisa ser estático, olha aí:

public class Test { 

    private [u][i][b]static[/b][/i][/u] String[] names; 

    public Test(String[] comp) { 
        names = comp; 
        names[0] = "I"; 
        names[1] = "V"; 
    }

    public static void main( String args[] ) {
        BufferedReader teclado =
                    new BufferedReader(new InputStreamReader(System.in));
         // lê linhas do teclado
        String linha = teclado.readLine();
        
        // Tratamento da String para tranformar em números romanos
    }
}

Como pode ver é simples ler o teclado !

Espero que tenha ajudado!

M
C:\ProgJava\FACULD~1\Test.java:21: cannot resolve symbol

symbol : method printl (java.lang.String)

location: class java.io.PrintStream

System.out.printl(Encontrou: +args +"= a :" +names);

^

e sobre esse erro, vc esqueceu do “n” no método println()

Criado 15 de março de 2004
Ultima resposta 17 de mar. de 2004
Respostas 9
Participantes 3