|
1 | 1 | <br> |
2 | 2 | <p align="center"> |
3 | | - <img width="300px" heigth="300px" src="https://github.com/ErickB51/hackerrank-stuff/blob/main/imagens/my-hackerrank-stuff-logo-redimensionada.png"> |
| 3 | + <img width="300px" height="300px" src="https://github.com/ErickB51/hackerrank-stuff/blob/main/imagens/my-hackerrank-stuff-logo-redimensionada.png"> |
4 | 4 | </p> |
5 | 5 | <br> |
6 | 6 |
|
|
14 | 14 |
|
15 | 15 | <h4>Introdução</h4> |
16 | 16 | <ol> |
17 | | - <li>Bem vindo ao Java! — Welcome to Java</li> |
18 | | - <li>Entrada Padrão e Saída Padrão I — Java Stdin/Stdout (Standard Input/Output) I</li> |
19 | | - <li>Entrada Padrão e Saída Padrão II — Java Stdin/Stdout (Standard Input/Output) II</li> |
20 | | - <li>Se e Senão — Java If — Else</li> |
| 17 | + <li><a href="https://github.com/ErickB51/hackerrank-stuff/blob/main/topicos/introducao/enunciados-e-explicacoes/welcome-to-java.md">Bem vindo ao Java! — Welcome to Java</a></li> |
| 18 | + <li><a href="https://github.com/ErickB51/hackerrank-stuff/blob/main/topicos/introducao/enunciados-e-explicacoes/stdin-stdout.md">Entrada Padrão e Saída Padrão I — Java Stdin/Stdout (Standard Input/Output) I</a></li> |
| 19 | + <li><a href="https://github.com/ErickB51/hackerrank-stuff/blob/main/topicos/introducao/enunciados-e-explicacoes/stdin-stdout2.md">Entrada Padrão e Saída Padrão II — Java Stdin/Stdout (Standard Input/Output) II</a></li> |
| 20 | + <li><a href="https://github.com/ErickB51/hackerrank-stuff/blob/main/topicos/introducao/enunciados-e-explicacoes/if-else.md">Se e Senão — Java If-Else</a></li> |
21 | 21 | <li>Formatação de Saída — Java Output Formatting</li> |
22 | 22 | <li>Laços de Repetição I — Java Loops I</li> |
23 | 23 | <li>Laços de Repetição II — Java Loops II</li> |
|
72 | 72 |
|
73 | 73 | <h4>Programação Orientada a Objetos</h4> |
74 | 74 | <ol> |
75 | | - <li>Herança I — Java Inheritance I</li> |
| 75 | + <li>Herança I — Java Inheritance I</li> |
76 | 76 | <li>Herança II — Java Inheritance II</li> |
77 | 77 | <li>Classes Abstratas — Java Abstract Class</li> |
78 | 78 | <li>Interfaces — Java Interface</li> |
|
130 | 130 | <li>Conjunto Sem Prefixo — Java No Prefix Set</li> |
131 | 131 | </ol> |
132 | 132 |
|
| 133 | +<br> |
133 | 134 | <br> |
134 | 135 |
|
135 | | -<h2 align="center">Introdução</h2> |
136 | | - <h3>Bem vindo ao Java! - Welcome to Java</h3> |
137 | | - <p align="justify">Bem-vindo ao mundo do Java! Neste desafio, praticaremos a impressão no fluxo para saída padrão de dados (também conhecida como Standard Out ou, simplesmente, stdout).</p> |
138 | | - <p align="justify">Os stubs de código em seu editor declaram uma classe WelcomeToJava e um método principal. Complete o método principal copiando as duas linhas de código abaixo e colando-as dentro do corpo do seu próprio corpo.</p> |
139 | | - |
140 | | -```java |
141 | | -System.out.println("Hello, World."); |
142 | | -System.out.println("Hello, Java."); |
143 | | -``` |
144 | | - |
145 | | - <h4>Formato de Entrada</h4> |
146 | | - <p align="justify">Não há entradas para este desafio.</p> |
147 | | - <h4>Formato de Saída</h4> |
148 | | - <p align="justify">Você precisa exibir duas linhas de saída:</p> |
149 | | - <p align="justify">Exiba Hello, World. na primeira linha.</p> |
150 | | - <p align="justify">Exiba Hello, Java. na segunda linha.</p> |
151 | | - <h4>Exemplo de Saída</h4> |
152 | | - |
153 | | -``` |
154 | | -Hello, World. |
155 | | -Hello, Java. |
156 | | -``` |
157 | | - |
158 | | -#### O texto acima foi retirado de [Hackerrank](https://www.hackerrank.com/), traduzido e adaptado. |
159 | | - |
160 | | - <br> |
161 | | - https://github.com/ErickB51/hackerrank-stuff/blob/32ce10ba897c342808cb3f9de2c0f694bbf5d288/codigos/introducao/WelcomeToJava.java#L1-L10 |
162 | | - |
163 | | - <h4>Anotações & Observações</h4> |
164 | | - |
165 | | -``` |
166 | | -Apenas alguns print :) |
167 | | -``` |
168 | | - <br> |
169 | | - <br> |
170 | | - |
171 | | - <h3>Entrada Padrão e Saída Padrão I - Java Stdin/Stdout (Standard Input/Output) I</h3> |
172 | | - <p align="justify">A maioria dos desafios do HackerRank exige que você leia a entrada padrão de dados (também conhecida como Standard In ou, simplesmente, stdin) e grave a saída no fluxo para saída padrão de dados (stdout). Uma maneira popular de ler a entrada do stdin é usar a classe Scanner e especificar o Input Stream como System.in. Por exemplo:</p> |
173 | | - |
174 | | -```java |
175 | | -Scanner scanner = new Scanner(System.in); |
176 | | -String myString = scanner.next(); |
177 | | -int myInt = scanner.nextInt(); |
178 | | -scanner.close(); |
179 | | - |
180 | | -System.out.println("myString is: " + myString); |
181 | | -System.out.println("myInt is: " + myInt); |
182 | | -``` |
183 | | - |
184 | | - <p align="justify">O código acima cria um objeto Scanner chamado scanner e o utiliza para ler uma String e um int. Em seguida, ele fecha o objeto Scanner porque não há mais entrada para ler e imprime em stdout usando System.out.println(String). Então, se nossa entrada for:</p> |
185 | | - |
186 | | -``` |
187 | | -Hi 5 |
188 | | -``` |
189 | | - <p align="justify">Nosso código vai fazer com que seja exibido:</p> |
190 | | - |
191 | | -``` |
192 | | -myString is: Hi |
193 | | -myInt is: 5 |
194 | | -``` |
195 | | - <p align="justify">Alternativamente, você pode usar a classe BufferedReader.</p> |
196 | | - |
197 | | - <h4>Tarefa</h4> |
198 | | - <p align="justify">Neste desafio, você deve ler inteiros de stdin e depois imprimi-los em stdout. Cada inteiro deve ser impresso em uma nova linha. Para tornar o problema um pouco mais fácil, uma parte do código é fornecida para você no editor abaixo.</p> |
199 | | - |
200 | | - <h4>Formato de Entrada</h4> |
201 | | - <p align="justify">Existem três linhas de entrada, e cada linha contém apenas um inteiro.</p> |
202 | | - |
203 | | - <h4>Exemplo de Entrada</h4> |
204 | | - |
205 | | -``` |
206 | | -42 |
207 | | -100 |
208 | | -125 |
209 | | -``` |
210 | | - |
211 | | - <h4>Exemplo de Saída</h4> |
212 | | - |
213 | | -``` |
214 | | -42 |
215 | | -100 |
216 | | -125 |
217 | | -``` |
218 | | - |
219 | | -#### O texto acima foi retirado de [Hackerrank](https://www.hackerrank.com/), traduzido e adaptado. |
220 | | - |
221 | | - <br> |
222 | | - https://github.com/ErickB51/hackerrank-stuff/blob/32ce10ba897c342808cb3f9de2c0f694bbf5d288/codigos/introducao/StdinStdout.java#L1-L22 |
223 | | - |
224 | | - <h4>Anotações & Observações</h4> |
225 | | - |
226 | | -``` |
227 | | -Neste desafio optei por utilizar apenas uma variável para armazenar os três números inteiros, isto é, |
228 | | -já que não havia necessidade de utilização posterior destes números. |
229 | | -``` |
230 | | - <br> |
231 | | - <br> |
232 | | - |
233 | | - <h3>Entrada Padrão e Saída Padrão II - Java Stdin/Stdout (Standard Input/Output) II</h3> |
234 | | - <p align="justify">Neste desafio, você deve ler um inteiro, um número flutuante de precisão dupla e uma String de stdin e, em seguida, imprimir os valores de acordo com as instruções na seção Formato de Saída abaixo. Para tornar o problema um pouco mais fácil, uma parte do código é fornecida para você no editor.</p> |
235 | | - <p align="justify">Observação: recomendamos concluir Java Stdin e Stdout I antes de tentar este desafio.</p> |
236 | | - |
237 | | - <h4>Formato de Entrada</h4> |
238 | | - <p align="justify">Existem três linhas de entrada:</p> |
239 | | - |
240 | | -``` |
241 | | -A primeira linha contém um inteiro. |
242 | | -A segunda linha contém um flutuante de precisão dupla (double). |
243 | | -A terceira linha contém uma String. |
244 | | -``` |
245 | | - |
246 | | - <h4>Formato de Saída</h4> |
247 | | - <p align="justify">Deverão existir três linhas de saída:</p> |
248 | | - |
249 | | -``` |
250 | | -1. Na primeira linha, imprima "String:" seguido pela String inalterada lida de stdin. |
251 | | -2. Na segunda linha, imprima "Double:" seguido pelo double inalterado lido de stdin. |
252 | | -3. Na terceira linha, imprima "Int:" seguido pelo inteiro inalterado lido de stdin. |
253 | | -``` |
254 | | - |
255 | | - <p align="justify">Para facilitar o problema, uma parte do código já é fornecida no editor.</p> |
256 | | - <p align="justify">Observação: se você usar o método nextLine() imediatamente após o método nextInt(), lembre-se de que nextInt() lê tokens inteiros; por causa disso, o último caractere de nova linha para essa linha de entrada de inteiro ainda está na fila no buffer de entrada e o próximo nextLine() estará lendo o restante da linha de inteiro (que está vazia).</p> |
257 | | - |
258 | | - <h4>Exemplo de Entrada</h4> |
259 | | - |
260 | | -``` |
261 | | -42 |
262 | | -3.1415 |
263 | | -Welcome to HackerRank's Java tutorials! |
264 | | -``` |
265 | | - |
266 | | - <h4>Exemplo de Saída</h4> |
267 | | - |
268 | | -``` |
269 | | -String: Welcome to HackerRank's Java tutorials! |
270 | | -Double: 3.1415 |
271 | | -Int: 42 |
272 | | -``` |
273 | | - |
274 | | -#### O texto acima foi retirado de [Hackerrank](https://www.hackerrank.com/), traduzido e adaptado. |
275 | | - |
276 | | - <br> |
277 | | - https://github.com/ErickB51/hackerrank-stuff/blob/32ce10ba897c342808cb3f9de2c0f694bbf5d288/codigos/introducao/StdinStdout2.java#L1-L24 |
278 | | - |
279 | | - <h4>Anotações & Observações</h4> |
280 | | - |
281 | | -``` |
282 | | -É importante ressaltar, principalmente neste desafio, que a utilização do método nextLine() da |
283 | | -classe Scanner, isto é, em seguida a chamada de nextDouble(), nextInt() e afins, deve ser |
284 | | -precedida pela chamada deste mesmo método. Isto ocorre em virtude do funcionamento dos |
285 | | -métodos que, na verdade, buscam tokens. |
286 | | -``` |
287 | | - <br> |
288 | | - <br> |
289 | | - |
290 | | - <h3>Se e Senão - Java If-Else</h3> |
291 | | - <p align="justify">Neste desafio, testamos seu conhecimento sobre o uso de instruções condicionais if-else para automatizar processos de tomada de decisão. Uma instrução if-else tem o seguinte fluxo lógico:</p> |
292 | | - |
293 | | - <br> |
294 | | - <p align="center"> |
295 | | - <img width="547px" heigth="534px" src="https://github.com/ErickB51/hackerrank-stuff/blob/main/imagens/if-then-else.png"> |
296 | | - </p> |
297 | | - <br> |
298 | | - |
299 | | - <h4>Fonte:</h4> |
300 | | - |
301 | | -O diagrama acima foi retirado da página "Conditional_(computer_programming)" da [Wikipedia](https://en.wikipedia.org/wiki/). |
302 | | - |
303 | | - <h4>Tarefa</h4> |
304 | | - <p align="justify">Dado um número inteiro, n, execute as seguintes ações condicionais:</p> |
305 | | - <ul> |
306 | | - <li>Se n for ímpar, imprima Weird</li> |
307 | | - <li>Se n for par e estiver no intervalo de 2 a 5, imprima Not Weird</li> |
308 | | - <li>Se n for par e estiver no intervalo de 6 a 20, imprima Weird</li> |
309 | | - <li>Se n for par e maior que 20, imprima Not Weird</li> |
310 | | - </ul> |
311 | | - <p align="justify">Complete os stubs de código fornecidos em seu editor para imprimir se n é estranho (Weird) ou não (Not Weird).</p> |
312 | | - |
313 | | - <h4>Formato de Entrada</h4> |
314 | | - <p align="justify">Uma única linha contendo um inteiro positivo, n.</p> |
315 | | - |
316 | | - <h4>Restrições</h4> |
317 | | - <ul> |
318 | | - <li>1 <= n <= 100 </li> |
319 | | - </ul> |
320 | | - |
321 | | - <h4>Formato de Saída</h4> |
322 | | - <p align="justify">Imprima Weird se o número é estranho; de outra forma, imprima Not Weird.</p> |
323 | | - |
324 | | - <h4>Exemplo de Entrada 0</h4> |
325 | | - |
326 | | -``` |
327 | | -3 |
328 | | -``` |
329 | | - |
330 | | - <h4>Exemplo de Saída 0</h4> |
331 | | - |
332 | | -``` |
333 | | -Weird |
334 | | -``` |
335 | | - |
336 | | - <h4>Exemplo de Entrada 1</h4> |
337 | | - |
338 | | -``` |
339 | | -24 |
340 | | -``` |
341 | | - |
342 | | - <h4>Exemplo de Saída 1</h4> |
343 | | - |
344 | | -``` |
345 | | -Not Weird |
346 | | -``` |
347 | | - |
348 | | - <h4>Explicação</h4> |
349 | | - <p align="justify">Caso de Exemplo 0: n = 3</p> |
350 | | - <p align="justify">n é ímpar e números ímpares são estranhos, então imprima Weird.</p> |
351 | | - <p align="justify">Caso de Exemplo 1: n = 24</p> |
352 | | - <p align="justify">n > 20 e n é par, então n não é estranho. Dessa forma, devemos imprimir Not Weird.</p> |
353 | | - |
354 | | -#### O texto acima foi retirado de [Hackerrank](https://www.hackerrank.com/), traduzido e adaptado. |
355 | | - |
356 | | - <br> |
357 | | -https://github.com/ErickB51/hackerrank-stuff/blob/32ce10ba897c342808cb3f9de2c0f694bbf5d288/codigos/introducao/IfElse.java#L1-L48 |
358 | | - |
359 | | - <h4>Anotações & Observações</h4> |
360 | | - |
361 | | -``` |
362 | | -Exemplo simples sobre o uso da estrutura de seleção Se e Senão, isto é, dentro da linguagem Java. |
363 | | -``` |
| 136 | +<h2 align="center">Temporário</h2> |
364 | 137 |
|
365 | | - <br> |
366 | | - <br> |
367 | | - |
368 | 138 | <h3>Formatação de Saída - Java Output Formatting</h3> |
369 | 139 | <br> |
370 | 140 | https://github.com/ErickB51/hackerrank-stuff/blob/32ce10ba897c342808cb3f9de2c0f694bbf5d288/codigos/introducao/OutputFormatting.java#L1-L25 |
|
0 commit comments