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.
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
matheusPJ
…para ler um valor inteiro
intvalor=Integer.parseInt(javax.swing.JOptionPane.showInputDialog("Digite um inteiro"));
J
JulianodbPJ
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
matheusPJ
bem, o args[0] é o primeiro parametro passado… o args[1] o segundo… e assim por diante… por ex:
…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
JulianodbPJ
valew matheus… com essa dica ja estou em andamento…
valews msmo kra…
thanks… :lol:
J
JulianodbPJ
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??
facaumaesbocop/min,sepuder...
de + uma ajuda, pois ja tenho de entrega-lo… blz matheus…
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
HeberPJ
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í:
publicclassTest{private[u][i][b]static[/b][/i][/u]String[]names;publicTest(String[]comp){names=comp;names[0]="I";names[1]="V";}publicstaticvoidmain(Stringargs[]){BufferedReaderteclado=newBufferedReader(newInputStreamReader(System.in));// lê linhas do tecladoStringlinha=teclado.readLine();// Tratamento da String para tranformar em números romanos}}
Como pode ver é simples ler o teclado !
Espero que tenha ajudado!
M
matheusPJ
C:\ProgJava\FACULD~1\Test.java:21:cannotresolvesymbolsymbol:methodprintl(java.lang.String)location:classjava.io.PrintStreamSystem.out.printl(“Encontrou:”+args+"= a :"+names);^
e sobre esse erro, vc esqueceu do “n” no método println()…