Galera, de-me uma ajuda

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:

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

…para ler um valor inteiro

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

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…

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…

valew matheus… com essa dica ja estou em andamento…

valews msmo kra…

thanks… :lol:

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

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

[code]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);
}
}
}
}[/code]

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]

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í:

[code]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
}

}[/code]

Como pode ver é simples ler o teclado !

Espero que tenha ajudado!

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()