Avatar billede NanoXerus Nybegynder
11. maj 2009 - 11:22 Der er 2 kommentarer

Hjælp til Projekt Opgave på HTX

Jeg har et stort problem, når jeg forsøger at compile min kode så få jeg en fejl som vedrøre "cannot find symbol - method set(int)", i blueJ.

Meningen er at jeg har en variabel, som jeg gerne vil gange med en anden variabel og få et resultat:
"data.set(160) = data.get(120)*data.get(0)".
Resultatet det burde give skal være = [0.00021]

Grunden til dette er at jeg skal lave et program som kan udregne farvekorrdinater. Selve min Source ser således ud:

----------------------------------------
import java.util.ArrayList;

public class Main
{
    // Variables
    public static ArrayList<Double> data = new ArrayList();
   
    // Main function
    public static void main(String args[])
    {
           
        //Reflection -  R -> Variable
                    data.add(0.0525);  // 380  - data.get(120)
                    data.add(0.0525);  // 390  - data.get(121)
                    data.add(0.0525);  // 400  - data.get(122)
                    data.add(0.0525);  // 410  - data.get(123)
                    data.add(0.0525);  // 420  - data.get(124)
                    data.add(0.0525);  // 430  - data.get(125)
                    data.add(0.0525);  // 440  - data.get(126)
                    data.add(0.0525);  // 450  - data.get(127)
                    data.add(0.0525);  // 460  - data.get(128)
                    data.add(0.0525);  // 470  - data.get(129)
                    data.add(0.0550);  // 480  - data.get(130)
                    data.add(0.0575);  // 490  - data.get(131)
                    data.add(0.0600);  // 500  - data.get(132)
                    data.add(0.0700);  // 510  - data.get(133)
                    data.add(0.0875);  // 520  - data.get(134)
                    data.add(0.0950);  // 530  - data.get(135)
                    data.add(0.0950);  // 540  - data.get(136)
                    data.add(0.0975);  // 550  - data.get(137)
                    data.add(0.1025);  // 560  - data.get(138)
                    data.add(0.1075);  // 570  - data.get(139)
                    data.add(0.1075);  // 580  - data.get(140)
                    data.add(0.1050);  // 590  - data.get(141)
                    data.add(0.1000);  // 600  - data.get(142)
                    data.add(0.0975);  // 610  - data.get(143)
                    data.add(0.0925);  // 620  - data.get(144)
                    data.add(0.0900);  // 630  - data.get(145)
                    data.add(0.0875);  // 640  - data.get(146)
                    data.add(0.0875);  // 650  - data.get(147)
                    data.add(0.0875);  // 660  - data.get(148)
                    data.add(0.0875);  // 670  - data.get(149)
                    data.add(0.0875);  // 680  - data.get(150)
                    data.add(0.0925);  // 690  - data.get(151)
                    data.add(0.1025);  // 700  - data.get(152)
                    data.add(0.1275);  // 710  - data.get(153)
                    data.add(0.1750);  // 720  - data.get(154)
                    data.add(0.2500);  // 730  - data.get(155)
                    data.add(0.3500);  // 740  - data.get(156)
                    data.add(0.4325);  // 750  - data.get(157)
                    data.add(0.4750);  // 760  - data.get(158)
                    data.add(0.4975);  // 770  - data.get(159)
       
   
//Data String - X -> NM <-
        data.add(0.004);  // 380  - data.get(0)
        data.add(0.019);  // 390  - data.get(3)
        data.add(0.085);  // 400  - data.get(6)
        data.add(0.329);  // 410  - data.get(9)
        data.add(1.238);  // 420  - data.get(12)
        data.add(2.997);  // 430  - data.get(15)
        data.add(3.975);  // 440  - data.get(18)
        data.add(3.915);  // 450  - data.get(21)
        data.add(3.362);  // 460  - data.get(24)
        data.add(2.272);  // 470  - data.get(27)
        data.add(1.112);  // 480  - data.get(30)
        data.add(0.363);  // 490  - data.get(33)
        data.add(0.052);  // 500  - data.get(36)
        data.add(0.089);  // 510  - data.get(39)
        data.add(0.576);  // 520  - data.get(42)
        data.add(1.523);  // 530  - data.get(45)
        data.add(2.785);  // 540  - data.get(48)
        data.add(4.282);  // 550  - data.get(51)
        data.add(5.880);  // 560  - data.get(54)
        data.add(7.322);  // 570  - data.get(57)
        data.add(8.417);  // 580  - data.get(60)
        data.add(8.984);  // 590  - data.get(63)
        data.add(8.949);  // 600  - data.get(66)
        data.add(8.325);  // 610  - data.get(69)
        data.add(7.070);  // 620  - data.get(72)
        data.add(5.309);  // 630  - data.get(75)
        data.add(3.693);  // 640  - data.get(78)
        data.add(2.349);  // 650  - data.get(81)
        data.add(1.361);  // 660  - data.get(84)
        data.add(0.708);  // 670  - data.get(87)
        data.add(0.369);  // 680  - data.get(90)
        data.add(0.171);  // 690  - data.get(93)
        data.add(0.082);  // 700  - data.get(96)
        data.add(0.039);  // 710  - data.get(99)
        data.add(0.019);  // 720  - data.get(102)
        data.add(0.008);  // 730  - data.get(105)
        data.add(0.004);  // 740  - data.get(108)
        data.add(0.002);  // 750  - data.get(111)
        data.add(0.001);  // 760  - data.get(114)
        data.add(0.001);  // 770  - data.get(117)
               
//Data String - Y -> NM <-
        data.add(0.000);  // 380  - data.get(1)
        data.add(0.000);  // 390  - data.get(4)
        data.add(0.002);  // 400  - data.get(7)
        data.add(0.009);  // 410  - data.get(10)
        data.add(0.037);  // 420  - data.get(13)
        data.add(0.122);  // 430  - data.get(16)
        data.add(0.262);  // 440  - data.get(19)
        data.add(0.443);  // 450  - data.get(22)
        data.add(0.964);  // 460  - data.get(25)
        data.add(1.058);  // 470  - data.get(28)
        data.add(1.618);  // 480  - data.get(31)
        data.add(2.358);  // 490  - data.get(34)
        data.add(3.401);  // 500  - data.get(37)
        data.add(4.833);  // 510  - data.get(40)
        data.add(6.462);  // 520  - data.get(43)
        data.add(7.934);  // 530  - data.get(46)
        data.add(9.149);  // 540  - data.get(49)
        data.add(9.832);  // 550  - data.get(52)
        data.add(9.841);  // 560  - data.get(55)
        data.add(9.147);  // 570  - data.get(58)
        data.add(7.992);  // 580  - data.get(61)
        data.add(6.627);  // 590  - data.get(64)
        data.add(5.316);  // 600  - data.get(67)
        data.add(4.176);  // 610  - data.get(70)
        data.add(3.153);  // 620  - data.get(73)
        data.add(2.190);  // 630  - data.get(76)
        data.add(1.443);  // 640  - data.get(79)
        data.add(0.886);  // 650  - data.get(82)
        data.add(0.504);  // 660  - data.get(85)
        data.add(0.259);  // 670  - data.get(88)
        data.add(0.134);  // 680  - data.get(91)
        data.add(0.062);  // 690  - data.get(94)
        data.add(0.029);  // 700  - data.get(97)
        data.add(0.014);  // 710  - data.get(100)
        data.add(0.006);  // 720  - data.get(103)
        data.add(0.003);  // 730  - data.get(106)
        data.add(0.002);  // 740  - data.get(109)
        data.add(0.001);  // 750  - data.get(112)
        data.add(0.001);  // 760  - data.get(115)
        data.add(0.000);  // 770  - data.get(118)
               
        //Data String - Z -> NM <-
        data.add(0.020);  // 380  - data.get(2)
        data.add(0.089);  // 390  - data.get(5)
        data.add(0.404);  // 400  - data.get(8)
        data.add(1.570);  // 410  - data.get(11)
        data.add(5.949);  // 420  - data.get(14)
        data.add(14.628);  // 430  - data.get(17)
        data.add(19.938);  // 440  - data.get(20)
        data.add(20.683);  // 450  - data.get(23)
        data.add(19.299);  // 460  - data.get(26)
        data.add(14.972);  // 470  - data.get(29)
        data.add(9.461);  // 480  - data.get(32)
        data.add(5.274);  // 490  - data.get(35)
        data.add(2.864);  // 500  - data.get(38)
        data.add(1.520);  // 510  - data.get(41)
        data.add(0.712);  // 520  - data.get(44)
        data.add(0.388);  // 530  - data.get(47)
        data.add(0.195);  // 540  - data.get(50)
        data.add(0.086);  // 550  - data.get(53)
        data.add(0.039);  // 560  - data.get(56)
        data.add(0.020);  // 570  - data.get(59)
        data.add(0.016);  // 580  - data.get(62)
        data.add(0.010);  // 590  - data.get(65)
        data.add(0.007);  // 600  - data.get(68)
        data.add(0.002);  // 610  - data.get(71)
        data.add(0.002);  // 620  - data.get(74)
        data.add(0.000);  // 630  - data.get(77)
        data.add(0.000);  // 640  - data.get(80)
        data.add(0.000);  // 650  - data.get(83)
        data.add(0.000);  // 660  - data.get(86)
        data.add(0.000);  // 670  - data.get(89)
        data.add(0.000);  // 680  - data.get(92)
        data.add(0.000);  // 690  - data.get(95)
        data.add(0.000);  // 700  - data.get(98)
        data.add(0.000);  // 710  - data.get(101)
        data.add(0.000);  // 720  - data.get(104)
        data.add(0.000);  // 730  - data.get(107)
        data.add(0.000);  // 740  - data.get(110)
        data.add(0.000);  // 750  - data.get(113)
        data.add(0.000);  // 760  - data.get(116)
        data.add(0.000);  // 770  - data.get(119)
               
        //Her Paabegyndes selve udregningen
   
        data.set(160) = data.get(120)*data.get(0);
   
   
        //EQN
        System.out.println("(data.get(160))");
       
       
       
       
       
     
    }
}
------------------------------------------------------
Avatar billede jonesw Nybegynder
11. maj 2009 - 11:39 #1
Du skal huske at når du bruger en arraylist, og skriver data.add() så bliver det addet fortløbende... så f.eks på din første linje skriver du:
data.add(0.0525);  // 380  - data.get(120)
men det passer ikke da det jo er det første objekt i din arraylist... for at få den skal du skrive data.get(0)
Avatar billede odsgaard Praktikant
11. maj 2009 - 19:39 #2
Date.set-metoden tager 2 parametre: date.set(index, value), så den rigtige måde at skrive det på er:
   
Du har også glemt at tage højde for, at første element i listen har index = 0, og sidste element i din liste har index = 159.
   
data.set(159,data.get(119)*data.get(0));
System.out.println(data.get(159));
   
Resultatet af ovenstånde udregning er 0, da index 119 giver 0.

Hvorfor har du alle elementerne i den samme liste - ville det ikke være en ide at lave 3 lister til hhv. x, y og z værdier - evt. som double[]

/Brian
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester