Bem é o seguinte estou querendo testar meu programa com varias possibilidades e pra isso queria passar como entrada um arquivo que ja tem tudo digitado o que o programa pede pra digitar… ele recebe tudo pela entrada padrão… não lembro com faz… acho que é algo do tipo
java <entrada.txt> programa <saida.txt>
se alguem puder me ajudar agradeço…
[quote=KNSetting]Bem é o seguinte estou querendo testar meu programa com varias possibilidades e pra isso queria passar como entrada um arquivo que ja tem tudo digitado o que o programa pede pra digitar… ele recebe tudo pela entrada padrão… não lembro com faz… acho que é algo do tipo
java <entrada.txt> programa <saida.txt>
se alguem puder me ajudar agradeço…[/quote]
se seu programa recebe dois argumentos é so vc passar os argumentos separados por espaço, pois eles serao inseridos em um array de String.
no seu caso seria java <entrada.txt> <saida.txt> programa
no seu main args[0] = entrada.txt>, args [1] = saida.txt.
flw
Tudo que foi digitado na entrada padrão entra no programa através do array args, presente no main.
Por exemplo, esse comando:
java Imprime Vinicius Godoy
Imprime Vinicius Godoy com essa classe:
[code]public class Imprime {
public static void main(String[] args) {
if (args.length == 0) {
System.out.println(“Forneça pelo menos 2 argumentos.”);
System.exit(1);
}
//Imprime o Vinícius, ou melhor, o primeiro argumento passado na linha de comando
System.out.print(args[0]);
System.out.print(" ");
//Imprime o segundo argumento, no caso, Godoy.
System.out.println(args[1]);
}
}[/code]
é mais ou menos isso só que meu código não usa o argumento da main, tipo eu quero dar a entrada 3 2 5 7 no programa, só que ao inves de digiar, eu tenho um arquivo de texto que só tem escrito nele 3 2 5 7 e quero que ele seja passado como argumento para meu programa, a entrada é um arquivo como você fez mas ao inves do texto passo como argumento o txt, e o Scanner pega-o e ler o que tem dentro como se eu tivesse passando pelo teclado.
[code]public class inter {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int num;
num = input.nextInt();
int[] numero = new int[num];
for (int i = 0; i < num; i++) {
numero[i] = input.nextInt();
}
}
}[/code]
Opa foi mal, não tinha lido o que o lelo postou acabei lendo só o do viny mas é isso que eu quero mesmo lelo só que quando faço esse comando java programa o prompt ta reotornando
< foi inesperando nesse momento
[quote=KNSetting]Opa foi mal, não tinha lido o que o lelo postou acabei lendo só o do viny mas é isso que eu quero mesmo lelo só que quando faço esse comando java programa o prompt ta reotornando
< foi inesperando nesse momento[/quote]
resolveu?
olha a saida do prompt abaixo
java programa
ai ele diz: < foi inexperado nesse momento.
[quote=KNSetting]olha a saida do prompt abaixo
java programa
ai ele diz: < foi inexperado nesse momento.
[/quote]
estranho, posta sua classe e a chamada dela no dos ai
vc pega do scanner e coloca em um array.
oq vai mudar é que vc vai pegar de um txt.
facinho facinho
olhe este link: http://www.guj.com.br/java.tutorial.artigo.13.1.guj
da uma estudada la…
Faça uma classe que será responsável por receber os dados e validar, depois vc passa como parametro o array tratado para esta sua logica, no caso ela fica totalmente separada da parte de inserção dos dados, sendo assim independente de onde virá.
Assim vc pode tratar de um scanner, txt, etc…
da uma olhadinha la e se tiver duvidas de como ler posta ai…
abs
blz cara é que, pensei q esse trabalho de enviar os dados para o programa era feito pelo prompt e não pelo meu programa receber um arquivo, pois o que ele deve receber é sim a entrada do usuario digitando um por um, mas eu não quero ficar digitando um por um toda vez pra fazer o teste dai pensei nesse caso de passar o arquivo como enrada, mas parece que esse artigo q vc mandou deixa o programa recebendo de qualquer lugar, agora estou estudano uma outra parada mais vou dar uma olhada nele, vlw cara um abraço.
BufferedReader bf=new BufferedReader(new FileReader(nome_do_arquivo));
<variável1>=bf.readLine();
<variável2>=bf.readLine();
ou armazene em uma array…
blz… qq coisa responde neste mesmo tópico aq e depois fecha o tópico como resolvido!!
abs