Mini projeto Java
Monte um programa pequeno no terminal que pergunta o que tem numa caixa, quantos, e imprime uma linha de rótulo. Em Box.java, mantenha a classe pública Box, importe java.util.Scanner, pergunte com item: e how many:, guarde as respostas, e imprima label(item, count). Compile com javac Box.java e execute java Box. Digite mug, Enter, 4, Enter. A última linha na tela deve ser mug 4. Deixe Program Arguments para a página seguinte. Esta lição é uma conversa curta que você executa sozinho, não uma página nova de teoria de compilação e não um mapa de Summary.
Pergunte duas vezes, depois imprima um rótulo
Abra Box.java. Mantenha o nome da classe pública Box. Apague demos restantes de Compiling Build, linhas de Summary Recap, rolagens Random Dice, e impressões de data Stamp se enterrarem a história do mini projeto. Este arquivo deve esperar digitação de propósito.
Adicione o import no topo:
import java.util.Scanner;
Mantenha um helper pequeno que junta as duas respostas com um espaço:
public static String label(String item, String count) {
return item + " " + count;
}
Dentro de Box.main, crie um scanner, pergunte duas vezes, depois imprima o rótulo:
Scanner in = new Scanner(System.in);
System.out.print("item: ");
String item = in.nextLine();
System.out.print("how many: ");
String count = in.nextLine();
System.out.println(label(item, count));
Você digitará mug, depois 4. A última linha será mug 4. Os prompts ficam nas linhas de espera. Eles não são guardados dentro do rótulo.
import java.util.Scanner;
public class Box {
public static String label(String item, String count) {
return item + " " + count;
}
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.print("item: ");
String item = in.nextLine();
System.out.print("how many: ");
String count = in.nextLine();
System.out.println(label(item, count));
}
}
Na pasta que contém Box.java, execute javac Box.java. Quando chaves e ponto e vírgula batem, javac não escreve linha própria e produz Box.class. Depois execute java Box — não java Box.java. Mantenha uma classe pública para o nome continuar Box.
A tela mostra uma conversa curta. O programa espera em item: e você digita mug, depois Enter. item guarda mug. O texto da pergunta item: só aparece enquanto espera, então não é guardado em item. O programa espera em how many: e você digita 4, depois Enter. count guarda 4, os caracteres que você digitou. A pergunta how many: também não é guardada. println escreve a linha que label devolve. Essa linha é mug 4. O espaço entre mug e 4 fica na expressão return. O programa termina. Não há quarta linha de resultado depois do rótulo.
Diga a regra de iniciante enquanto observa a execução: dois prompts, duas respostas, um rótulo unido. Não invente demos de Program Arguments nesta página. Program Arguments espera a lição seguinte. Não trate item: mug como o rótulo. Não trate how many: 4 como o rótulo.
Se ainda vir ok ou ok depois built de um arquivo Build de Compiling restante, mude para Box.java, compile, e execute java Box com as duas respostas. Se javac não achar Scanner, confira a linha de import no topo de Box.java.
A última linha é o rótulo, não as perguntas
A última linha é mug 4. Não é item: mug. Não é how many: 4. Esses prompts ficam nas linhas de espera ao lado do que você digitou. label recebe só mug e 4. Se a linha return dissesse item + ": " + count, a última linha seria mug: 4, mas essa não é a linha deste programa. Este return põe um espaço entre as respostas, então a última linha é mug 4.
count guarda os caracteres 4 como String de nextLine. Você não faz parse de int nesta página. Não rola Random. Não imprime ready 42 do Recap. Você rotula uma caixa com duas respostas digitadas.
Se digitar palavras diferentes, o rótulo muda. O quiz didático e o walkthrough mantêm mug e 4 para a última linha continuar previsível. Pratique uma vez com essas respostas antes de experimentar.
Mini projeto não é Compiling nem Program Arguments
Compiling mostrou javac escrevendo .class e java carregando com Build. Mini projeto reusa esses hábitos e acrescenta conversa real com Scanner. Program Arguments mostrará como o array args de main funciona quando você inicia o programa com palavras extras na linha de comando na página seguinte. Não misture esses três papéis num único arquivo de iniciante hoje.
Mantenha System.out.print para os prompts para a resposta ficar na mesma linha visual da pergunta em muitos terminais. Mantenha println para o rótulo final terminar na linha dele. Mantenha nextLine para ler a resposta inteira depois de Enter.
Sem o import, javac falha antes de qualquer prompt. Sem digitar as duas respostas, o programa espera. Sem label, você ainda poderia juntar no println, mas esta página mantém um helper nomeado para os métodos continuarem visíveis no mini projeto.
Percorra a execução digitada mais uma vez
Comece em Box.main. O scanner lê de System.in. O primeiro print mostra item:. Você digita mug e Enter. nextLine guarda mug em item. O segundo print mostra how many:. Você digita 4 e Enter. nextLine guarda 4 em count. label(item, count) devolve mug 4. println escreve essa string. A execução termina.
Se a última linha mostrar mug4 sem espaço, confira se a expressão return ainda inclui " ". Se mostrar item: mug 4, você incluiu texto de prompt na junção por engano — mantenha prompts só nas chamadas print. Se nada espera, você ainda pode estar rodando um arquivo Build que imprime palavras fixas sem Scanner.
Arquivos restantes de Build e Recap podem ficar por perto como histórico. Para este checkpoint, rode o arquivo didático Box até a última linha mostrar mug 4 depois dessas duas respostas.
Hábitos de pasta e compilação ainda importam
Liste a pasta depois de compilar com sucesso. Você deve ver Box.java e Box.class juntos. Edite o fonte, salve, execute javac Box.java, depois java Box de novo. Um .class velho pode mostrar formato de rótulo antigo se você pular compilar depois de editar — a mesma lição Compiling, agora ligada a um programa Scanner.
Mantenha uma classe pública chamada Box. Não cole loops de Program Arguments neste arquivo ainda. Não adicione seeds Random para “enriquecer” o rótulo. Não congele LocalDate dentro de Box. O mini projeto é de propósito pequeno: duas perguntas, um rótulo.
Quando javac reclamar de classes públicas duplicadas, mantenha só Box pública. Quando a execução não achar ou carregar Box, confirme que está na pasta que contém Box.class e que a compilação deu certo.
Antes de Program Arguments
Você pode manter classe pública Box, import Scanner, perguntas item: e how many:, guardar respostas, imprimir label(item, count), compilar com javac Box.java, executar java Box, digitar mug depois 4, e ver mug 4 como última linha. Os prompts não fazem parte desse rótulo. A página seguinte é Program Arguments, onde você passa palavras na linha de comando ao iniciar o programa.
Mantenha a conversa Box para um mini projeto claro. Mantenha demos de Compiling Build fora desta página ao praticar o rótulo Scanner. Mantenha arquivos Summary Recap fora desta página ao praticar o rótulo. Mantenha demos de Program Arguments fora desta página até essa lição. Esses hábitos são o checkpoint antes de seguir. Quando a última linha mostrar mug 4 depois das duas respostas, Mini projeto cumpriu o papel desta lição e você está pronto para Program Arguments.
Uma última passagem pela pasta: um Box público, import presente, dois print de prompt, dois nextLine de guarda, um label de junção, sem Random, sem LocalDate, compile depois execute. Rode javac Box.java e java Box mais uma vez. Digite mug, depois 4. Se a última linha ainda mostrar mug 4, o formato Mini projeto está sólido e o curso pode ir para Program Arguments na página seguinte. Prefira um hábito de conversa claro por leitura para cada passagem ensinar o mesmo mapa.
🧠 Teste Seu Conhecimento
Teste Seu Conhecimento
Desafie-se com este questionário interativo e veja o quão bem você entende o tópico
📝 Instruções
- Leia cada pergunta cuidadosamente
- Selecione a melhor resposta para cada pergunta
- Você pode refazer o quiz quantas vezes quiser
- Seu progresso será mostrado no topo