2016-04-08 14 views
0

Dies erhält nur die Werte, die dem Optionsfeld mit der Bezeichnung Frage 1 entsprechen, nachdem es keinen Wert zurückgegeben hat. Ist das der richtige Weg um eine Schleife zu benutzen oder sollte ich individuelle Werte bekommen?Kann for-Schleife in Jsp verwendet werden?

<html> 

<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
    <title>Your Personality</title> 
    <link rel="stylesheet" type="text/css" href="newcss.css"> 
</head> 

<jsp:useBean id="radioques" scope="page" class="abc.radioques" /> 
<% 
    String q[] = new String[44]; 
    int j; 
    for(int i=0;i<44;i++) 
    { 
     j=i+1; 
     q[i]=request.getParameter("question"+j); 
    } 
    radioques.rq(q); 
%> 
</html> 

jetzt die entsprechende Java-Klasse

package abc; 
public class radioques { 
public void rq(String q[]) throws JasperException, NullPointerException, Exception 
{ 
    int ques[]=new int[44]; 
    int i=0; 
    for(String s:q) 
    { 
     ques[i]=Integer.parseInt(s.trim()); 
    } 
    int o,c,e,a,n; 
    o=ques[4]+ques[9]+ques[14]+ques[19]+ques[24]+ques[29]+(6-ques[34])+ques[39]+(6-ques[40])+ques[43]; 
    c=ques[2]+(6-ques[7])+ques[12]+(6-ques[17])+(6-ques[22])+ques[27]+ques[32]+ques[37]+(6-ques[42]); 
    e=ques[0]+(6-ques[5])+ques[10]+ques[15]+(6-ques[20])+ques[25]+(6-ques[30])+ques[35]; 
    a=(6-ques[1])+ques[6]+(6-ques[11])+ques[16]+ques[21]+(6-ques[26])+ques[31]+(6-ques[36])+ques[41]; 
    n=ques[3]+(6-ques[8])+ques[13]+ques[18]+(6-ques[23])+ques[28]+(6-ques[33])+ques[38]; 
    o=o/50*100; 
    c=c/45*100; 
    e=e/40*100; 
    a=a/45*100; 
    n=n/40*100; 
    for(i=0;i<44;i++) 
    { 
     System.out.println(ques[i]); 
    } 
} 
public static void main(String args[]) 
{   
} 
} 

hier der Wert für ques [0] ist richtig und Wert für andere Fragen kommt 0. Dank im Voraus bitte helfen Sie, was das Problem zu sein scheint hier .

Antwort

0

Sie erhöhen nie i in der Schleife hier

int i=0; 
for(String s:q) 
{ 
    ques[i]=Integer.parseInt(s.trim()); 
} 

int i=0; 
for(String s:q) 
{ 
    ques[i]=Integer.parseInt(s.trim()); 
    i++; 
} 

oder

int i=0; 
for(String s:q) 
{ 
    ques[i++]=Integer.parseInt(s.trim()); 
} 
+0

Sie Recht haben sollte dies wirklich eine dumme Frage war. Vielen Dank und können Sie mir ein bisschen mehr helfen? Ich möchte die Werte, die o, c, e, a, n entsprechen, auf der jsp-Seite anzeigen. ist es möglich? –

Verwandte Themen