Pessoal , comecei agora e desenvolver em Java iniciantes, e estou com problemas no meu programa:
import java.util.Scanner;
public class HuxleyCode {
public static void main(String args[]) {
Scanner scan= new Scanner(System.in);
long i = 0;
long n = 1;
long s;
long y;
long w;
System.out.println();
y = scan.nextLong();
System.out.println();
w = scan.nextLong();
System.out.println();
s = scan.nextLong();
//0<=n <=47
/*Formato de entrada
Um número inteiro n indicando a quantidade de
termos da sequência de fibonacci a serem impressos. Onde: 0<=n <=47.
A entrada termina quando n=0*/
s = i/y+w;
while (i<=2){
System.out.print(" " +i);
n = n+i;
i = n-i;
}
/*Formato de saída
A sequência de termos da série fibonacci. Cada termo é separado por um espaço.
Depois do último termo não deve existir espaço.*/
System.out.println();
long c = 0;
long b = 1;
s = c/y+s;
while (c <= 1%2){
System.out.print(c+" ");
b = b+c;
c = b+c;
}
}
}
/conforme nos comentários precisa ser exibido dessa forma: entrada de 3 numeros inteiros, e 2 linhas de saída com 0112
e 01
Faltou informar qual é o seu problema.
Se seu problema é como fazer esta questão toda, sinto lhe informar que aqui não resolvemos seus problemas de escola. Tiramos dúvidas e ajudamos.
1 curtida
Também sou iniciante, assim solucionar alguns problemas básicos está ajudando no meu desenvolvimento.
Olhe esta codificação e veja se ajuda.
Procure sobre a função do operador ternário em java, ajuda bastante.
package crisis;
import java.util.Scanner;
public class Crisis {
public static void main(String[] args) {
fibonacci(0, 0, 1);
}
private static void fibonacci(long anterior, long intermediario, long atual) {
System.out.println("Informe um número entre 1 e 47");
int n = new Scanner(System.in).nextInt();
while (n > 0 && n < 48) {
System.out.print(atual + (--n > 0 ? " " : ""));//decremento do n dentro do método imprima(print)
anterior = intermediario;
intermediario = atual;
atual += anterior;
}
}
}
Bom dia, desculpe, este código eu comecei a desenvolver pelo site the huxley do qual serve para treino, porém minha variável pelo site me informa que ele não suporta números grandes, eu gostaria de saber o porque
Isso ocorre por que cada tipo de dado numérico possui um limite no valor que pode representar.
Não posso falar pelo site, mas como funciona no java.
Com créditos para http://www.dm.ufscar.br/profs/waldeck/curso/java/part22.html, analise a tabela a seguir:


Agora a minha análise:
Ex.:
a) você quer representar valores cujo limite é 85, use o byte, pois ele vai consumir menos memória e suporta de -128 a 127;
b) representar valores até 2343, use o short, pois está dentro do intervalo dele e o byte não suporta este range;
c) valores até 54355, pode usar o char se quiser, pois ele suporta até 65535, vai depender de sua aplicação;
d) 1109838789, use o int, pois está dentro do range dele;
e) 8733734847898, use o long pois esta acima do range do int e dentro do range do long;
f) para ponto flutuante, use float e double e verifique a precisão de cada um, para a sua necessidade.
Qual a importância de tantos tipos?
É semelhante ao que ocorre com o banco de dados, pois você economiza memória.
Qual o critério?
O limite numérico que uma variável deve suportar de acordo com sua aplicação.
Assim, se a sua variável está dando necessitando guardar números grandes, altere o tipo de int para long, se quer um valor maior que o long, jogue para float, se que uma maior que float, jogue para double, se que maior que double, jogue o código fora
.