não é possível renderizar o script java no navegador chromium no ubuntu 14.04

0

ao tentar renderizar um simples arquivo de script java para imprimir a tabela fibonacci, não estou obtendo nada (uma página em branco) no cromo ... como abaixo

<!DOCTYPE html>
<html>
<head>
<title> The Fibonacci Numbers </title>
</head>
<body>
<script>
    document.write("<h2>Table of Fibonacci Numbers</h2>");
    for(i=0;j=1;k=0;f=0;i<50;i++;f=j+k;j=k;k=f) {
        document.write("Fibonacci("+i+") = "+f);
        document.write("<br>");
        }
</script>
</body>
</html>      

Eu pensei que pode ser isso porque javascript não está habilitado no chromium, então eu procurei e corri ...

$ sudo apt-get update && sudo apt-get install icedtea-plugin

mas, não funcionou? qual é o problema?

    
por lazarus 02.10.2014 / 16:30

2 respostas

2

Nada a ver com o Chrome, nada a ver com Java (o que o IcedTea é um plugin, que é muito não Javascript). O problema é simples: Sua sintaxe no loop for é tudo errado.

for(i=0;j=1;k=0;f=0;i<50;i++;f=j+k;j=k;k=f) {...}

Um loop iterator for simples como este (existem outros tipos de loop for) deve ler como:

for (declaration; limit; iterator) {
    code
}

Eu posso ver o que você está tentando, você só precisa reorganizá-lo:

j=1;k=0;f=0;
for(i=0;i<50;i++) {
    f=j+k;j=k;k=f;
    document.write("Fibonacci("+i+") = "+f);
    document.write("<br>");
}
    
por Oli 02.10.2014 / 16:50
1

Isso não tem nada a ver com o Ubuntu, você só tem um erro de sintaxe no seu script. Na próxima vez, abra o console de javascript (pressione F12 ). Você verá este erro:

Uncaught SyntaxError: Unexpected token ; 

O Firefox com o FireBug instalado é um pouco mais útil:

SyntaxError: missing ) after for-loop control
for(i=0;j=1;k=0;f=0;i<50;i++;f=j+k;j=k;k=f) {
--------------^

Até onde eu sei, você não pode fazer tudo isso na declaração for do loop, mas eu não sou especialista em JavaScript, então posso estar errado. O que é certo é que você não pode fazer isso dessa maneira. Por exemplo, onde você altera o valor de j ? Mesmo que isso funcionasse, sempre imprimiria 0 . O que você está procurando é algo como

<html>
<head>
<title> The Fibonacci Numbers </title>
</head>
<body>
<script>
    document.write("<h2>Table of Fibonacci Numbers</h2>");
    document.write("Fibonacci(0) = 0<br>");
    document.write("Fibonacci(1) = 1<br>");
    last=1;
    BeforeLast=0;
    for(i=2;i<50;i++){
        f=last+BeforeLast;
        document.write("Fibonacci("+i+") = "+f);
        document.write("<br>");
        BeforeLast=last;
        last=f;
        }
</script>
</body>
</html>      
    
por terdon 02.10.2014 / 16:56