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