lafa - Challenge 2 - FULL - Java

Ir em baixo

lafa - Challenge 2 - FULL - Java

Mensagem  lafa em Qui Jul 14, 2011 2:30 pm

LIGHT:

1 - Faça um Programa que leia um número e exiba o dia correspondente da semana (Começando de domingo ). Caso você digite outro valor deve aparecer valor inválido.

 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import java.util.Scanner;


public class ImprimeDia {


public static void main(String[] args) {
String[] dias={"domingo","segunda","terça","quarta","quinta","sexta","sabado"};//vetor de strings contendo
//os dias da semana em ordem
Scanner sc = new Scanner(System.in);

System.out.println("Digite um numero de 1 a 7 referente ao dia da semana:");
int dia=sc.nextInt();//le o valor digitado

if(dia<1 || dia>7){//valor inválido
System.out.println("valor inválido!");
return;
}

System.out.println(dias[dia-1]);//como vetor inicia em 0, subtraímos
//um do valor digitado e imprimimos o dia correspondente


}

}



2 - Faça um Programa que peça um número correspondente a um determinado ano e em seguida informe se este ano é ou não bissexto.

 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import java.util.Scanner;


public class Bisexto {

public static void main(String[] args) {
Scanner cs = new Scanner(System.in);

System.out.println("Entre com o ano:");
int ano = cs.nextInt();//le o ano a ser verificado

if(ano<1){//ano nao pode ser<=0
System.out.println("Ano inválido!");
return;
}

int x=ano;

if(ano%100==0){//ano "decimal/centezimal/milhar..."
x=ano/100;
}

if(x%4==0){//anos bisextos repetem-se de de 4 em 4
System.out.println(ano +" e um ano bisexto");
}
else System.out.println(ano + " nao e um ano bisexto");

}

}



3 - Faça um programa que peça uma nota, entre zero e dez. Mostre uma mensagem caso o valor seja inválido e continue pedindo até que o usuário informe um valor válido.

 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import java.util.Scanner;


public class LeNota {

public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int nota;

do{
nota=sc.nextInt();
}while(nota<0 || nota>10);
}

}


4 - Faça um programa que leia um nome de usuário e a sua senha e não aceite a senha igual ao nome do usuário, mostrando uma mensagem de erro e voltando a pedir as informações.

 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import java.util.Scanner;

public class EntradaDados {

public static void main(String[] args){

String nome,password;
Scanner sc = new Scanner(System.in);

do{
System.out.println("Entre com o seu nome:");
nome=sc.next();//le o nome
System.out.println("Entre com o seu password:");
password=sc.next();//le a senha

if(nome.equals(password)){//verifica se ambos sao iguais para exibir a mensagem de erro
System.out.println("Erro! Password nao pode ser igual ao seu nome!");
}

}while(nome.equals(password));//verifica se ambos sao iguais para sair ou continuar a solicitar os dados

System.out.println("OK man!");//nome e senha sao diferentes; sai do laço

}

}


5 - Faça um programa que calcule a quantidade dinheiro gasto por um fumante com os seguintes dados:
 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import java.util.Scanner;

public class CalculaCigarro {

public static void main(String[] args){

Scanner sc = new Scanner(System.in);

System.out.println("Entre com a quantidade de anos que você se mata ops!0o quer dizer FUMA:");
int anos = sc.nextInt();//le quantidade de anos
System.out.println("Quantos cigarros você fuma ao dia? ");
int nCigarrosDia=sc.nextInt();//le numero de cigarros ao dia
System.out.println("Qual o preço da carteira que você compra?");
double valor = sc.nextDouble();//le o valor pago na carteira

int diasTotais=anos*365;//anos bisextos?...
double valorUnitario=valor/40;//calcula o valor por unidade

//imprime a resposta com duas casas decimais de precisao
System.out.println("Parabens! Voce ja gastou "+String.format("%.2f", valorUnitario*diasTotais*nCigarrosDia) +" comprando cigarros!");
}



}


7 - Faça um Programa que leia dois vetores com 10 elementos cada podendo ser strings ou números. Gere um terceiro vetor de 20 elementos, cujos valores deverão ser compostos pelos elementos intercalados dos dois outros vetores.
 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import java.util.Scanner;
import java.util.Vector;

public class MixVectors{

public static void main(String[] args){
Scanner sc = new Scanner(System.in);
Vector mix = new Vector();//vetor capaz de armazenar objetos heterogeneos
int vInt[]= new int[10];//vetor de inteiros
String vString[]= new String[10];//vetor de strings

System.out.println("Entre com 10 inteiros:");//le 10 numeros
for(int i=0;i<10;i++){
int temp=sc.nextInt();
vInt[i]=temp;
}

System.out.println("Entre com 10 strings:");//le 10 palavras
for(int i=0;i<10;i++){
String temp=sc.next();
vString[i]=temp;
}

for(int i=0;i<10;i++){//intercala-os, i.e.: coloca um no indice i e o outro na posicao i+1
mix.add(vInt[i]);
mix.add(vString[i]);
}

System.out.println("Inteiros e strings intercalados:");//imprime o vetor resultante
for(int i=0;i<20;i++){
System.out.print(mix.get(i)+" ");
}
System.out.println();

}

}


8 - Utilizando vetores faça um programa que faça 5 perguntas para uma pessoa sobre um crime.
 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
import java.util.Scanner;


public class Criminal {

public static void main(String[] args){
Scanner sc = new Scanner(System.in);
//perguntas a serem realizadas
String perguntas[]={"Telefonou para a vítima?",
"Esteve no local do crime?",
"Mora perto da vítima?","" +
"Devia para a vítima?",
"Já trabalhou com a vítima?"};

//numero de respostas positivas
int respostasPositivas=0;

//faz as 5 perguntas
for(int i=0;i<perguntas.length;i++){
System.out.println(perguntas[i]);
String temp=sc.next();//le a resposta

if(temp.equals("sim")){//respostas positiva
respostasPositivas++;//incrementa a variável
}
}

switch(respostasPositivas){//imprime a classificaçao
//de acordo com o numero de
//respostas positivas
case 2:
System.out.println("Você é suspeita!");
break;

case 3:
System.out.println("Você é cúmplice!");
break;

case 4:
System.out.println("Você é cúmplice!");
break;

case 5:
System.out.println("Você é um ASSASSINO!");
break;

default :
System.out.println("Você é inocente!");
break;
}
}

}


9 - Faça um programa que leia 2 strings e informe o conteúdo delas seguido do seu comprimento. Informe também se as duas strings possuem o mesmo comprimento e são iguais ou diferentes no conteúdo.
 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import java.util.Scanner;


public class StringCompara {

public static void main(String[] args){
Scanner sc= new Scanner(System.in);

String st1=sc.next();//le string 1
String st2=sc.next();//le string 2

//imprime as string lidas + seu respectivo tamanho
System.out.println("String 1: \""+st1+"\" Tamanho: "+st1.length());
System.out.println("String 2: \""+st2+"\" Tamanho : "+st2.length());
//usa operador ternario para verificar igualdade de tamanho e conteudo
System.out.println(st1.length()==st2.length() ? "Possuem mesmo tamanho" : "Possuem tamanho diferente");
System.out.println(st1.equals(st2) ? "Possuem mesmo conteudo" : "Diferem em conteudo");

}

}



HARDCORE:

2 - A soma dos números primos abaixo de 10 é 2 + 3 + 5 + 7 = 17.
Faça um programa que encontre e imprima a soma de todos os números primos abaixo de dois milhões como também, imprima quantos números foram encontrados.

 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import java.math.BigInteger;


public class PrimeSum {

public static boolean isPrime(int a){//Método que verifica se um dado numero è primo

int maxDiv=(int)(Math.sqrt(a));//só há nescessidade de testar até a raiz quadrada
int it=2;//O teste sempre inicia com 2

while(it<=maxDiv){
if(a%it==0) return false;//a é divisível por it logo nao é primo
it++;
}

return true;//passou em todos os testes entao é primo
}

public static void main(String[] args) {//método principal
BigInteger sum = new BigInteger("0");//soma "pode" ser maior que 2^31
int find=0;//quantidade de primos encontrados

for(int i=2;i<=2000000;i++){//Laço principal
if(isPrime(i)){//se i for primo
BigInteger temp= new BigInteger(String.valueOf(i)); //converte i para BigInteger
sum=new BigInteger(String.valueOf(sum.add(temp)));//adiciona o valor de i a nossa soma total
find++;//incrementa quantidade de primos encontrados
}
}
//imprime o resultado
System.out.println("A soma de todos os numeros primos ( "+find+" ) menores que 2000000 e "+ sum);
}

}



avatar
lafa

Mensagens : 3
Data de inscrição : 06/07/2011
Idade : 31

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: lafa - Challenge 2 - FULL - Java

Mensagem  aajjbb em Qui Jul 21, 2011 8:59 am

Bom codigo.. e bom ver mais challenges em Java por aqui..
quando tiver tempo, testarei...
avatar
aajjbb

Mensagens : 14
Data de inscrição : 04/07/2011
Idade : 25

Ver perfil do usuário http://www.dialybasiscode.wordpress.com

Voltar ao Topo Ir em baixo

Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum