Solved

Expanding formula statement automatically.

Posted on 2004-09-14
19
188 Views
Last Modified: 2010-03-31
Hi All,

Given these 2 formulas of   y =.......  which are dependent on the number of atoms.length, and they appear to be consistantly applied,  I want to make the formulas appear so that as the number of atoms.length increased causes the formula y =.......   to expand accordingly.

This is demonstrated in the two situations below:


............. start of snip

int atmlength = atoms.length;

       if (atmlength == 3) // 2nd degree
        {        
          y = Float.parseFloat(atoms[atoms.length-1]) +

gofrmX*(Float.parseFloat(atoms[atoms.length-2]) +

gofrmX*Float.parseFloat(atoms[atoms.length-3]));
        }

        if (atmlength == 4) // 3rd degree
        {        
          y = Float.parseFloat(atoms[atoms.length-1]) +

gofrmX*(Float.parseFloat(atoms[atoms.length-2]) +

gofrmX*(Float.parseFloat(atoms[atoms.length-3]) +

gofrmX*Float.parseFloat(atoms[atoms.length-4])));
        }

end of snip...........

Delphi3

0
Comment
Question by:delphi3
  • 12
  • 7
19 Comments
 
LVL 6

Expert Comment

by:expertmb
ID: 12061780
for(int i = 1; atomlength <=atmlength ; i++){
  y+= Float.parseFloat(atoms[atoms.length-i])
}
0
 
LVL 6

Expert Comment

by:expertmb
ID: 12061812
y = Float.parseFloat(atoms[atoms.length-1])
for(int i = 2; atomlength <=atmlength ; i++){
  y+= gofrmX*Float.parseFloat(atoms[atoms.length-i])
}

or

y = Float.parseFloat(atoms[atoms.length-1])
for(int i = 2; atomlength <=atmlength ; i++){
  y+= gofrmX*Float.parseFloat(atoms[i])
}
0
 
LVL 6

Expert Comment

by:expertmb
ID: 12064484
y = Float.parseFloat(atoms[atoms.length-1])
for(int i = 2; i <=atmlength ; i++){
  y+= gofrmX*Float.parseFloat(atoms[i])
}
0
Gigs: Get Your Project Delivered by an Expert

Select from freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely and get projects done right.

 
LVL 4

Author Comment

by:delphi3
ID: 12071770
expertmb,
Thanks for your java statements .
Surprised that some of the punctuation is missing like ";".
Still none of the statements above fill the bill.

Any more suggestions?

D#
0
 
LVL 6

Expert Comment

by:expertmb
ID: 12071788
hmmmmmm missed semicolons.
if the code is not lenghty can you post the code.
0
 
LVL 6

Expert Comment

by:expertmb
ID: 12071810
class formulaTest{

 public static void main(String[] s){
      //String atoms[] = {"1","2","3"};
      String atoms[] = {"1","2","3", "4"};

      int atmlength = atoms.length;
      float y = Float.parseFloat(atoms[0]);
      for(int i = 1; i <atmlength ; i++){
        y+= Float.parseFloat(atoms[atoms.length-i]);
      }

      System.out.println("y: " + y);
 }
}
0
 
LVL 6

Expert Comment

by:expertmb
ID: 12071840
modified
class someTest{

 public static void main(String[] s){
      //String atoms[] = {"1","2","3"};
      String atoms[] = {"1","2","3", "4"};

      int atmlength = atoms.length;
      float x = 0.5f;
      float y = Float.parseFloat(atoms[atmlength-1]);
      for(int i = 2; i <=atmlength ; i++){
            System.out.println(atoms[atoms.length-i]);
        y+= (Float.parseFloat(atoms[atoms.length-i]))*x;
      }

      System.out.println("y: " + y);
 }
}
0
 
LVL 4

Author Comment

by:delphi3
ID: 12072001
Sorry to post it this way,
but at the moment it seems more efficient.

see my initial post at
http://www.experts-exchange.com/Miscellaneous/Math_Science/Q_21131187.html

and you should see the snip that I put above.

Hope that this help in clarifying the difficulty. Thie notes at the top of it present a few sample problems.

D3

0
 
LVL 6

Expert Comment

by:expertmb
ID: 12072170
class someTest{

 public static void main(String[] s){
      String atoms[] = {"1","2","3"};
      //String atoms[] = {"1","2","3", "4"};

      int atmlength = atoms.length;
      float x = 0.5f;
      float y = 0.0f;//Float.parseFloat(atoms[atmlength-1]);
      for(int i = atmlength; i >1 ; i--){
        y= (y + (Float.parseFloat(atoms[atoms.length-i])))*x;
      }

      y+= Float.parseFloat(atoms[atmlength-1]);

      System.out.println("y: " + y);

      float z = 0.0f;
      float gofrmX = x;
      /*if (atmlength == 4) // 3rd degree
      {
        z = Float.parseFloat(atoms[atoms.length-1]) +
              gofrmX*(
                    Float.parseFloat(atoms[atoms.length-2]) +
                        gofrmX*(
                              Float.parseFloat(atoms[atoms.length-3]) +
                                    gofrmX*Float.parseFloat(atoms[atoms.length-4])));
      }*/

      if (atmlength == 3) // 2nd degree
      {
            y = Float.parseFloat(atoms[atoms.length-1]) +
                  gofrmX*(
                        Float.parseFloat(atoms[atoms.length-2]) +
                        gofrmX*Float.parseFloat(atoms[atoms.length-3]));
      }
      System.out.println("y: " + y);
 }

}
0
 
LVL 6

Accepted Solution

by:
expertmb earned 50 total points
ID: 12072205
     float y = 0.0f;//Float.parseFloat(atoms[atmlength-1]);
      for(int i = atmlength; i >1 ; i--){
        y= (y + (Float.parseFloat(atoms[atoms.length-i])))*x;
      }

      y+= Float.parseFloat(atoms[atmlength-1]);
0
 
LVL 4

Author Comment

by:delphi3
ID: 12072257
expertmb,
Thanks for your further efforts.
It is near 2:30 am and will study your responses when I get up in the morning.

D3
0
 
LVL 6

Expert Comment

by:expertmb
ID: 12072270
will not be available, long weekend for me ,(festival in india) catch you on monday for further comments.
0
 
LVL 4

Author Comment

by:delphi3
ID: 12091615
Hi  expertmb ,

I have pursued this matter further
what was the former lines of coding in my work at
http://www.experts-exchange.com/Miscellaneous/Math_Science/Q_21131187.html

.........
    while (gofrmX <= gotoX )
      {
        if (atmlength == 3) // 2nd degree
        {      
          y = Float.parseFloat(atoms[atoms.length-1]) +

gofrmX*(Float.parseFloat(atoms[atoms.length-2]) +

gofrmX*Float.parseFloat(atoms[atoms.length-3]));
        }
        if (atmlength == 4) // 3rd degree
        {        
          y = Float.parseFloat(atoms[atoms.length-1]) +

gofrmX*(Float.parseFloat(atoms[atoms.length-2]) +

gofrmX*(Float.parseFloat(atoms[atoms.length-3]) +

gofrmX*Float.parseFloat(atoms[atoms.length-4])));
        }
        System.out.print("Value for y is " + y);        
        if( y < 0 ){

...........


 the new replacement will be:
........
   while (gofrmX <= gotoX )
      {
        y = 0;
        float yC = Float.parseFloat(atoms[atoms.length-1]);// constant term
        System.out.println ("Constant term "+ yC);
       
        for(int i = atmlength; i >1 ; i--){
          y = (y + (Float.parseFloat(atoms[atoms.length-i])))*gofrmX;
         
        }
        y= y + yC; // adding in the constant term
        System.out.print ("total y = "+ y);
       
        if( y < 0 ){
........
I am now able to do any number set of terms (well, maybe), thanks to you.

I am sure that this whole problem and revisions will not buy anyone a cup of coffee at any restaurant

Delphi3
0
 
LVL 6

Expert Comment

by:expertmb
ID: 12109242
>>I am sure that this whole problem and revisions will not buy anyone a cup of coffee at any restaurant
???
0
 
LVL 4

Author Comment

by:delphi3
ID: 12109584
expertmb,

Thanks to you I now have the formula. Your efforts are signinficant to me and I appreciate it.

My remark about the cup of coffee at a restaurant is an expression that means: for the average man in the street, I could offer him my Java program and he would more that likely react by saying "so what, is this program important to my life? and if it is I will buy you a cup of coffee at the restaurant".  More than likely I could not convince him.

Again many thanks to you. You should have the points and the grade.

Delphi3
0
 
LVL 4

Author Comment

by:delphi3
ID: 12109602
expertmb,

sorry for the spelling error:

signinficant is misspelled  above and should be "significant" meanining the same as important or having value.



D3
0
 
LVL 6

Expert Comment

by:expertmb
ID: 12110116
Dear Delphi3,

thanks for the comments. you took my comment(???) seriously, if the comment hurt really sorry for that.

mb ...
0
 
LVL 4

Author Comment

by:delphi3
ID: 12111981
expertmb,
the answer is that it did not hurt. I am very concerned that you understood me with the correct meaning.
This cross cultural thing is very important to me and I thought after the "???" you deserved an better explanation.

Sometimes thoughts come into my head, and out on to the screen  too fast. I should run my thoughts into the cross cultural filter.  As you can see I am running that filter now :)

So I am a happy person.  

D3



0
 
LVL 6

Expert Comment

by:expertmb
ID: 12119654
:-)

mb...
0

Featured Post

Gigs: Get Your Project Delivered by an Expert

Select from freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely and get projects done right.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Java contains several comparison operators (e.g., <, <=, >, >=, ==, !=) that allow you to compare primitive values. However, these operators cannot be used to compare the contents of objects. Interface Comparable is used to allow objects of a cl…
Are you developing a Java application and want to create Excel Spreadsheets? You have come to the right place, this article will describe how you can create Excel Spreadsheets from a Java Application. For the purposes of this article, I will be u…
Viewers learn about the “for” loop and how it works in Java. By comparing it to the while loop learned before, viewers can make the transition easily. You will learn about the formatting of the for loop as we write a program that prints even numbers…
Viewers learn about the scanner class in this video and are introduced to receiving user input for their programs. Additionally, objects, conditional statements, and loops are used to help reinforce the concepts. Introduce Scanner class: Importing…

785 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question