# If und for verschachteln



## N3WM4N (20. Jun 2021)

Guten Tag,
ich möchte gerne das ein paar Bedingungen erfüllt werden, bevor meine schleife ausgeführt wird.
Anscheinend kann ich eine for schleife nicht in eine if bedingung verschachteln. Deshalb frage ich mihc, wie ich das ganze umsetzen soll



                           Java:                   






```
function berechnung ()

{

var t1=document.getElementById("tstart").value

var t2=document.getElementById("tende").value

t1=parseFloat(t1)

t2=parseFloat(t2)

var stoff=document.getElementById("stoff").selectedIndex

var einheit=document.getElementById("einheit").selectedIndex

if ( stoff=="0" && einheit=="0" && t1>=0 && t2<=250 && t1<t2)

{

var i=t1,

var ausgabe="<tr> <th> T </th> <th> E </th> <th> K</th> <th> O</th></tr>";

for ((i=t1); (i>t2);(i=i+2))

{

ausgabe=ausgabe+"<tr><td>" + i +"</td><td>"+

(i*i)+"</td><td>"+

(i*i)+"</td><td>"+

(i*i)+"</td></tr>";

}

document.getElementById("Absatz1").innerHTML = ausgabe
};
```
 




Die Inhalte sind in erste Linie irrelevant. Diese habe ich nur verwendet, um da sganze zu testen. Also Die 5 Bedingungen beim if müssene rfüllt werden. Dann möchte ich eine Wiederholung laufen lassen.
Über Hinweise wäre ich sehr dankbar






Antwort 

Report Bearbeiten


----------



## httpdigest (20. Jun 2021)

Der Fehler ist vermutlich, dass deine Schleife niemals ausgeführt wird, weil ihre Bedingung `i > t2`, also i *grösser als* t2, immer false ist (angenommen, dass nach Usereingabe t1 <= t2 ist).
Du willst die Schleife wahrscheinlich nicht ausführen, solange i grösser als t2 ist, sondern solange es noch *kleiner als* t2 ist.


----------



## N3WM4N (20. Jun 2021)

httpdigest hat gesagt.:


> Der Fehler ist vermutlich, dass deine Schleife niemals ausgeführt wird, weil ihre Bedingung `i > t2`, also i *grösser als* t2, immer false ist (angenommen, dass nach Usereingabe t1 <= t2 ist).
> Du willst die Schleife wahrscheinlich nicht ausführen, solange i grösser als t2 ist, sondern solange es noch *kleiner als* t2 ist.


Hi erstmal vielen Dank für deine Antwort. Du hast natürlich recht. Mir ist da ein Fehle runterlaufen, allerdings lässt sich das ganze imme rnoch nicht ausführen


```
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta charset="UTF-8" />
        <title>Internes JS</title>
       <script type="text/javascript">//<![CDATA[
        "use strict";
        function berechnung ()
        {
        var t1=document.getElementById("tstart").value
        var t2=document.getElementById("tende").value
        t1=parseFloat(t1)
        t2=parseFloat(t2)
        var stoff=document.getElementById("stoff").selectedIndex
        var einheit=document.getElementById("einheit").selectedIndex
        
        if ( stoff=="0" && einheit=="0" && t1>=0 && t2<=250 && t1<t2)
            {
            var i=0;
            var ausgabe="";
            for ((i=t1); (i<=t2);(i=i+2))
                {
                ausgabe = ausgabe + "<h" + i +">Überschrift" + i               
                                + "</h" + i + ">";
            }
            document.getElementById("Absatz1").innerHTML = ausgabe;
        }
        
        
        //]]></script>
      
    </head>

    
     <body>
     <h1>Berechnung</h1>
     <select id="stoff">
        <option>1</option>
        <option>2</option>
        <option>3</option>
     </select>
     <input id="tstart" placeholder="Start"/>
     <input id="tende" placeholder="Ende"/><br/>
     <p>
        <select id="einheit">
        <option>1</option>
        <option>2</option>
        </select>
        <input onclick="berechnung ()" type="button" value="Berechnung starten"/>
     </p>
    
    <p id="Absatz1">
    </p>
 
    
    
    
    
    </body>
</html>
```


Hier nochmal der ganze Code.


----------



## httpdigest (20. Jun 2021)

Öffne einfach mal die F12/Browser-Tools und debugge durch den Code. Bzw. schaue überhaupt erstmal auf die JavaScript Console. Dort werden bei Button-Click ein paar Errors ausgegeben. Dein Code ist syntaktisch noch nicht ganz korrekt. (Sagt dir aber alles die Console im Browser)


----------



## N3WM4N (20. Jun 2021)

vielen Dank. hab nur eine Klammer vergessen. Ich bin so doof.


----------

