Duvida

9 respostas
victorrgds

Boa noite galera, então…

tive uma prova na facul e sentei na graxa bunito…pq consegui entender a lógica mas não consegui passar pro papel…

gostaria que alguem me ajudasse com esse código para eu poder esclarer algumas duvidas…

segue a questão:

Escrever, em linguagem java, um método que recebe dois numeros inteiros por parametros e que retorna a soma de todos os numeros inteiros entre esses dois numeros, se o primeiro numero for maior que o segundo; caso contrario, o metodo deve retornar a soma dos numeros impares entre esses dois numeros…OBS:Escrever somente o Método!

agora uma questão teórica…

Oque acontece num programa escrito em linguagem java, quando se tenta instanciar um objeto de uma classe que não possui método construtor?

Bom galera se alguem puder me ajudar com essas questões eu ficaria muito agradecido, pq depois dessa prova eu vi que vo ter que bugar no java pra poder conseguir organizar as informações na parte escrita do java…

abs

9 Respostas

T

Exemplo:
Você instancia um objeto e pega um atributo da classe e soma +1.O que acontece é que o sistema passa um valor qualquer, ou seja, se ele não tiver um construtor e você não passar um valor ele gera um na soma…

victorrgds

É, me dei mal então…

segue minha resposta : “não eh possivel instanciar um objeto se não houver metodo construtor”

referente a primeira questão, vc tbm pode me ajudar brother ?

abs!

Murillo_Pontes
public int somaNumeros(int a, int b) {
		int resultado = 0;
		
		if (a > b) {
			
			do {
				resultado += a;
				a--;				
			} while (a >= b);
			
			return resultado;
		}
		
		else if (a < b){
			
			do {
				
				if (a % 2 != 0) {
					resultado +=a;
				}
				
				a++;				
			} while (a <= b);
			
			return resultado;			
		} 
		
		else {
			//se eles forem iguais não sabemos o que fazer
			return 0;
		}
	}

Então acho que na segunda questão o professor quer saber sobre os conStrutores que o compilador gera automaticamente. Na verdade toda classe java que tem um construtor independente de você digitar ou não ele, ou seja:

public class Sono {


  Sono(){
     super();
  }

}

e a mesma coisa que

public class Sono {

}

Pois o compilador vai gerar um construtor padrão para vc (DESDE QUE VC NÃO TENHA CRIADO UM MANUALMENTE).

Acho que é isto... se estiver errado por gentileza me corrijam.

Vlw

victorrgds

Mto agradeçido Murillo, eu to inconformado cara, eu não conseguia associar nada na hora da prova…eu to tendo muita dificuldade com o java, não na lógica, mas sim na escrita e eu não sei oque faço…não encontrei exercicios basicos para praticar…não tenho nenhuma diretriz, meu professor de Orientação a Objetos foi um Bosta…sinceramente não sei oque fazer…

Agradeço a atenção de vcs

victorrgds

mas eu acho que o seu Murillo ficou errado, me corrija se tiver errado, mas o exercicio pediu para que fosse somado os números entre os dois parametros caso o 1º fosse maior que o 2º, caso contrário fazer a soma dos impares, então no caso ali não seria %3 ?

Murillo_Pontes

Tem uns sites legais e gratuitos que da para praticar bastante:

http://jedi.wv.com.br/

Este aqui é muito massa: http://knowledgeblackbelt.com/

É tipo uma certificação alternativa e tem vários exercícios to aprendendo bastante com eles, e logico que com o pessoal aqui do fórum.

Se vc se cadastrar no segundo por favor indica meu usuário murillopontes, to precisando de uns pontos para fazer a próxima prova!!!rsrsrsrs

Flw

victorrgds

Cara, sei nem como agradecer…se tiver algum meio de contato que agente possa estar trocando idéias ai cara…seria uma boa tbm…

e ah, pode deixar que eu indico sim!

Murillo_Pontes
public static int somaNumeros(int a, int b) {
		
		//variavel que vai retornar o resultado da soma
		int resultado = 0;
		
		//teste para ver se o primeiro parametro e maior que o segundo
		if (a > b) {
			
			
			do {
				resultado += a;
				a--;				
			// enquanto o primeiro for maior que o segundo faz a soma
			} while (a >= b);
			
			//retorna o resultado da som
			return resultado;
		}
		
		//teste para ver se o primeiro parametro e menor que o segundo
		else if (a < b){
			
			do {
				
				// teste para ver se o numero e impar, este teste retorna o resto da divisão de a por 2
				// se o resto for diferente de 0 o numero é impar senão é par
				// sendo a o numero que estamos incrementando 
				if (a % 2 != 0) {
					//se o numero for impar ele vai realizar esta soma
					resultado +=a;
				}
				
				a++;
				
			} while (a <= b);
			
			return resultado;			
		} 
		
		else {
			//se eles forem iguais não sabemos o que fazer
			return 0;
		}
	}

Fiz uns testes aqui e funcionou direito, mas se vc quiser testar e so rodar no seu pc.

victorrgds

sim, vou testar…qual IDE vc usa, eclipse ??

Criado 16 de novembro de 2011
Ultima resposta 16 de nov. de 2011
Respostas 9
Participantes 3