Lar Finanças Pessoais Comando Argumentos de linha em Java - dummies

Comando Argumentos de linha em Java - dummies

Índice:

Vídeo: Curso de Java 06: Passando argumentos para o programa 2024

Vídeo: Curso de Java 06: Passando argumentos para o programa 2024
Anonim

Era uma vez, a maioria dos programadores Java usava uma interface de desenvolvimento baseada em texto. Eles teceram um comando em uma janela de aparência simples, geralmente com texto branco em um fundo preto.

Que maçante!

A janela de aparência simples passa pelos vários nomes, dependendo do tipo de sistema operacional que você usa. No Windows, uma janela de texto desse tipo é uma janela de prompt de comando. Em um Macintosh e no Linux, esta janela é o terminal. Algumas versões do Linux e UNIX chamam essa janela de um shell.

De qualquer forma, de volta aos tempos antigos, você poderia escrever um programa que sugira informações extras quando você digitou o comando para iniciar o programa.

Quando você inicia MakeRandomNumsFile, você digita algumas informações extras.

Na imagem acima, o programador usa java MakeRandomNumsFile para executar o programa MakeRandomNumsFile . Mas o programador segue java MakeRandomNumsFile com duas informações extras: MyNumberedFile. txt e 5 . Quando o programa MakeRandomNumsFile é executado, o programa sugere duas informações extras e as usa para fazer o que o programa tem a fazer. O programa sugere MyNumberedFile. txt 5 , mas em outra ocasião, o programador pode digitar SomeStuff 28 ou BunchONumbers 2000 . As informações extras podem ser diferentes sempre que você executar o programa.

A próxima pergunta é: "Como um programa Java sabe que é suposto snarf up informações extras cada vez que ele é executado? "Desde que você começou a trabalhar com o Java, você viu este String args [] no cabeçalho de cada método main . Bem, já é tempo de descobrir o que é isso. O parâmetro args [] é uma matriz de String valores. Esses String são chamados argumentos da linha de comando.

Alguns programadores escrevem

public static void main (String args [] )

e outros programadores escrevem

public static void main (String [] args)

De qualquer forma, args é uma matriz de String valores.

Usando argumentos de linha de comando em um programa Java

Este bit de código mostra como usar argumentos de linha de comando.

É assim que você gera um arquivo de números

importar java. util. Aleatória;

importar java. io. PrintStream;

importar java. io. IOException;

classe pública MakeRandomNumsFile {

public static void main (String args [] ) lança IOException {

Gerador aleatório = novo Random ();

se (args.comprimento <2) {

Sistema. Fora. println ("Usage: MakeRandomNumsFile filename number");

Sistema. saída (1);

}

PrintStream printOut = novo PrintStream (args [0]);

int numLines = Integer. ParseInt (args [1]);

para (int count = 1; count <= numLines; count ++) {

printOut. println (generator. nextInt (10) + 1);

}

printOut. fechar();

}

}

Se um programa específico esperar alguns argumentos de linha de comando, você não pode iniciar o programa executando da mesma forma que você iniciaria a maioria dos outros programas normais. A maneira como você alimenta os argumentos da linha de comando para um programa depende do IDE que você está usando - Eclipse, NetBeans ou o que for. Allmycode. com tem instruções para alimentar argumentos para programas usando vários IDEs.

Quando o código começa a ser executado, a matriz args obtém seus valores. Com a execução exibida na imagem acima, o componente da matriz args [0] assume automaticamente o valor "MyNumberedFile. Txt" e args [1] automaticamente se torna "5" . Portanto, as instruções de atribuição do programa acabam tendo o seguinte significado:

PrintStream printOut = new PrintStream ("MyNumberedFile. Txt");

int numLines = Integer. ParseInt ("5");

O programa cria um arquivo chamado MyNumberedFile. txt e define numLines para 5 . Então, mais tarde, no código, o programa gera aleatoriamente cinco valores e coloca esses valores em MyNumberedFile. txt . Uma série do programa dá-lhe isso.

Depois de executar o código, onde você pode encontrar o novo arquivo ( MyNumberedFile. Txt ) em seu disco rígido? A resposta depende de muitas coisas diferentes. Se você usa um IDE com programas divididos em projetos, o novo arquivo está em algum lugar na pasta do projeto. De uma forma ou de outra, você pode alterar o Listado 11-7 para especificar um nome de caminho completo - um nome como "c: \ Usuários \ Nome_do_Portugal \ MyNumberedFile. Txt" ou "/ Usuários / MyName / Documents / MyNumberedFile. Txt" .

No Windows, os nomes do caminho do arquivo contêm caracteres de barra invertida. E em Java, quando você deseja indicar uma barra invertida dentro de um literal de Cadeia de caracteres dupla, você usa uma barra invertida dupla. É por isso que "c: \ Users \ MyName \ Documents \ MyNumberedFile. txt "contém pares de barras invertidas. Em contrapartida, os caminhos dos arquivos nos sistemas operacionais Linux e Macintosh possuem barras diagonicas para a frente. Para indicar uma barra inclinada em uma Cadeia de caracteres Java, use apenas uma barra inclinada para a frente.

Observe como cada argumento da linha de comando é um valor String . Quando você olha args [1] , você não vê o número 5 - você vê a string "5" com um caractere de dígito nele. Infelizmente, você não pode usar "5" para fazer qualquer contagem. Para obter um int valor de "5" , você deve aplicar o método parseInt .

O método parseInt vive dentro de uma classe chamada Inteiro. Então, para chamar parseInt , prefira o nome parseInt com a palavra Inteiro. A classe Integer possui todos os tipos de métodos úteis para fazer coisas com int valores.

Em Java, Integer é o nome de uma classe, e int é o nome de um tipo primitivo (simples). As duas coisas estão relacionadas, mas não são as mesmas. A classe Integer possui métodos e outras ferramentas para lidar com os valores int .

Verificar o número certo de argumentos da linha de comando

O que acontece se o usuário cometer um erro? E se o usuário esquecer de digitar o número 5 na primeira linha w quando você inicia MakeRandomNumsFile ?

Em seguida, o computador atribui "MyNumberedFile. Txt" a args [0] , mas não atribui nada a args [1] . Isto é mau. Se o computador atingir a indicação

int numLines = Integer. ParseInt (args [1]);

o programa falha com um ArrayIndexOutOfBoundsException não amigável .

O que você faz sobre isso? Você verifica o comprimento da matriz args . Você compara args. comprimento com 2 . Se o args array tiver menos de dois componentes, você exibirá uma mensagem na tela e sairá do programa.

O código diz como executá-lo.

Apesar da verificação de args. comprimento , o código ainda não é resistente a falhas. Se o usuário digitar cinco em vez de 5, o programa recebe um NumberFormatException . O segundo argumento da linha de comando não pode ser uma palavra. O argumento deve ser um número (e um número inteiro, naquele). Você pode adicionar declarações para tornar o código mais à prova de balas.

Quando você está trabalhando com argumentos de linha de comando, você pode inserir um valor String com um espaço em branco nele. Basta incluir o valor em aspas duplas. Por exemplo, você pode executar o código acima com os argumentos "My Big Fat File. Txt" 7 .

Comando Argumentos de linha em Java - dummies

Escolha dos editores

Acalma suas emoções ao praticar Mindfulness - dummies

Acalma suas emoções ao praticar Mindfulness - dummies

Aqui, você descobre a maneira consciente de gerenciar as emoções - as etapas para tome quando estiver sentindo baixo, excessivamente irritado ou desconfortavelmente ansioso. As emoções positivas podem ser um sentimento maravilhoso. A alegria, a alegria, a emoção e a felicidade são perfeitas. Mas como você pode lidar com as chamadas emoções negativas? Use a atenção para a saúde emocional A atenção plena está se tornando ...

Como começar o seu dia de trabalho com meditação Mindfulness - dummies

Como começar o seu dia de trabalho com meditação Mindfulness - dummies

Você pode encontrar a meditação mindfulness é uma ótima maneira de Comece o seu dia de trabalho. Quando chegar ao trabalho pela manhã, talvez já esteja estressado. Depois de uma agitada hora ou duas preparando as crianças para a escola ou regatear com seu parceiro ou lidar com alguma emergência em casa, seguido de ...

Os melhores sites Mindfulness - dummies

Os melhores sites Mindfulness - dummies

, Independentemente de você morar no Reino Unido ou em outro lugar, se você procurar "mindfulness" 'on-line, você literalmente obterá milhões de resultados. Como você pode dizer o trigo da palha? Aqui estão alguns sites que você achará útil. Atento. Este recurso maravilhoso tem muitos conteúdos de alta qualidade de professores excelentes de atenção plena. O ...

Escolha dos editores

HDR Solução de problemas: Nada está funcionando - manequins

HDR Solução de problemas: Nada está funcionando - manequins

Quando você se depara com uma situação com suas fotografias de alcance dinâmico elevado e parece que nada que você está fazendo está funcionando - as configurações não parecem boas, a imagem parece errada, os efeitos são ruins - relaxe e faça uma pausa. A imagem está lhe dizendo algo. Que algo às vezes é relacionado a forçar ...

HDR Resolução de problemas: falta de imaginação - dummies

HDR Resolução de problemas: falta de imaginação - dummies

A imaginação é uma coisa poderosa ao preparar imagens HDR, fato que é tornou-se mais óbvio quando você vê o resultado de não usá-lo versus usá-lo. A imagem superior desta figura é uma imagem HDR de um diner local durante a "hora dourada" - naquele horário atrasado (ou manhã) quando ...

HDR Solução de problemas: Sharpening - dummies

HDR Solução de problemas: Sharpening - dummies

Se você ficar apanhado na perfeição, você está preparado para aumentar seu HDR imagens. Os fotógrafos às vezes estão obcecados com a nitidez em suas fotos. Eles querem que tudo seja pixelly perfeitamente afiado do nariz da câmera até o infinito, independentemente da lente, abertura, ISO ou velocidade do obturador que eles usem. Esta figura mostra os resultados ...

Escolha dos editores

Cisco Rede: Mostrar comando de versão em um Switch - dummies

Cisco Rede: Mostrar comando de versão em um Switch - dummies

Em qualquer componente de rede da Cisco, o show O comando de versão é aplicável a qualquer hardware usando o Sistema Operacional Cisco IET (Internetwork Operating System), incluindo switches. O comando show version mostra informações ligeiramente diferentes, de acordo com o tipo de dispositivo em que você usa. Veja a saída do comando show version em um switch e ...

Cisco Rede: Modo de operação EXEC privilegiado - manequins

Cisco Rede: Modo de operação EXEC privilegiado - manequins

Você precisa usar o modo EXEC privilegiado se quiser realmente tem acesso de atualização a um sistema de rede Cisco,. Para entrar neste modo no modo EXEC do usuário, emita o comando enable, que solicita uma senha, se configurado. Como o nome do modo sugere, este modo tem privilégios extras para permitir ...

Cisco Rede: Configuração de Senha de Shell Seguro (SSH) - manequins

Cisco Rede: Configuração de Senha de Shell Seguro (SSH) - manequins

Shell seguro (SSH) é um protocolo de rede para seus dispositivos Cisco, que é mais seguro do que o Telenet. Definir uma senha segura é um requisito de configuração para este protocolo. Para configurar o acesso a um switch Cisco para SSH, você precisará ter uma conta de usuário criada em sua opção. O exemplo supõe que você tenha ...