Doing extremely well in my Calculus, Linear Algebra and Discrete Mathematics classes

>doing extremely well in my Calculus, Linear Algebra and Discrete Mathematics classes
>despise my intro to java class and economics

Are there any high paying math jobs that don't involve programming?

Other urls found in this thread:

en.wikipedia.org/wiki/Floating-point_arithmetic,
haskellbook.com
twitter.com/SFWRedditImages

Are you sure you despise programming as a whole or just Java

teach yourself some Python and see if you like it. It'll be a better gauge of whether you hate programming or just find Java annoying.

this

java is gross

Man up and learn C.

are you me?
was originally just taking math classes to supplement my compsci major but now i'm thinking of switching to math alltogether

You're just getting memed by mathfaggots

Learn programming outside of school, take the easiest major (or drop out). win win

>do great in data structures and discrete structures
>suck absolute ass at linear algebra cause i missed 2 classes
I'm ready

are both of you me?

Problem is your University is shit for teaching Java as an introductory programming language. Java is an incredibly cumbersome language to use that requires an IDE and forces you into eccentric OOPisms in order to write code. This is why most CS degrees are memes.

No user, there aren't

And Java is garbage, it would be a bad sign if you enjoyed it. School isn't supposed to be fun. Stick through it until assembly, C, and C++

>C
Find me one employer worth a damn that wants C specifically. It might be usable to build into learning other languages, but it's a terrible place to start up front as well.

OP, there are plenty of programming languages worth learning, even if Java isn't your thing, but keep in mind that lots of employers are looking for Java or .NET(which despite being C# is extremely similar in nature to Java). Basically, either suck it up or find something that lets you use other shit you actually end up liking. As people in the thread said already, you could try something like Python to begin learning and stem from there.

I missed a ton of classes and now have to learn what methods, arrays, classes and objects, and the various loops in a week.

oh poor you

Go full math major and learn programming/economic at home with books.
In my country the only good teachers are in maths.

you can learn that in a day
if you weren't such a brainlet that is

>objects
nouns
make a new one with the "new" keyword followed by the object's constructor (ex: Object o = new Object();)
>methods
verbs
have an object "do" a method with the object-dot-method(arguments) syntax (ex: o.toString(); or o.setValue(1))
>arrays
a 1-dimensional matrix of n objects indexed from 0 to n-1. you access the object at a given index i with brackets (ex: array[3] fetches the 4th element in the array)
>for loops
for(int i = 0; i < n; i++) means repeat the loop body n times. this is useful because you have i to work with. (ex: for(int i = 0; i < 5; i++){System.out.println(array[i]);} will print the first five elements in an array)
>for-each loops
for(Object o : collection) means repeat the loop body once for each object in the collection. (ex: for(Object o : array){System.out.println(array[i];)} will print every object in the array)
>while loops
while(condition) means keep doing whatever's in the loop until condition is false (ex1: while(true){System.out.println(".");} will print periods forever) (ex2: int i = 0; while(i < 5) { System.out.println(array[i]); i++; } will behave exactly like the for loop example)

If you have questions, ask, but if you understand this you should at least pass your final.

>Java
Here's your problem.

Read SICP.

fug, wrote my code too fast.
the for-each example is wrong.
should be: for(Object o : array){System.out.println(o.toString();)}

>requires an IDE
H o l y s h i t

No java does not require an IDE, it requires you to compile programs. That's it. Does C require an IDE? What about any assembly language. You're a fucking retard and are why some companies are hesitant to hire science grads over compsci grads. Stop calling it code. They're called programs.

Engineering, you better get used to sucking cocks OP.

try to work in processing, helped me tons.

Don't do this. Learn how to actually program.

Thanks user

Can you check this thread tomorrow and the next day for any questions I may have?

>doing java without an ide
Enjoy writeing more boilerplate, than meaningfull code

you got it b

You're honestly fucking retarded. No one should learn a language by using an IDE.

so you propose learning java with one of (((those))) IDEs where you click and drag stuff and the trash code writes itself?

fuck off, be a man and use gedit

Part of my main problem is that I like at a block of code and its like looking at Egyptian hieroglyphics

Futhermore having to lean all the obscure syntaxes of the various languages/system seems so daunting

actuary

responding just because i don't want you misleading OP
>find me one employer worth a damn
L3 communications, other government contractors, department of defense
$60k - $80k starting, typically working on embedded systems
honorable mention is SpaceX but they suck

>cats

This is why you should learn how to code outside of school. Pick up the basic 3, c python java and your set for your classes

get through it and find heaven with python or ruby

My C++ instructor called java a deprecated language.

Honeywell, Lockheed Martin, Boeing, Airbus, Saab, United Technologies, GE, Siemens.
Each of those $90k+ starting on positions that require C, with very good progression, bonuses and whatnot.

>implying you can't actually program with processing

watch 3blue1brown videos on LA, helped me a lot

Code syntax are determined by the writer.

I remember code confusing me when I was younger and it wasn't until i started playing around with it with immeduate visual feedback that I started to realize how simple it is. It's really simple.
Java is by far the most human readable modern language, as well as syntatically sensible in writing.

Lets make an object for storing an X and Y coordinate

class NAME {
[math]~int[/math] x;
[math]~int[/math] y;

[math]~NAME[/math](int a, int b){
[math]\quad x [/math]=a;
[math]\quad y [/math]=b;
[math]~ [/math]}
}

Now we can use this object as a data type for storing x,y coordinates, with simple dot access.

NAME asdfg = new NAME(7,3);

print(asdfg.x + asdfg.y)
>prints "10"

how to setup an array? just write the datatype followed by brackets and initialize it.

NAME[] asdfgList = new NAME[50];
The [50] is our initial list size. It could be any number, it could be a determined number. An array must be initialized with a definite limit, but an arraylist can be appended and allowed to initialize with [0].

for (int i=0; i

>Are there any high paying math jobs that don't involve programming?

Yes, but to get them, you pretty much have to kill the previous occupant and all other applicants.

So that first one.

Class NAME and the two variables define that instances of that class (objects) will be. Name(){ creates the constructors with the () containing the parameters being passed to make the variables you defined a step before?

>>prints "10"
Why is it 10 and not 73

NAME derp = new NAME (k,c)

Means that a new object named derp is created that is an instance of the NAME template with k and c being the values to create variables. Correct?

Are those getters and setters?

learn python

Prints 10 cause its two individual integers being added together without any string operations that would otherwise treat them as seperate reads. Print(name.x + "" + name.y) would lend itself to "73"

Gets and sets, and the object defined worked as a datatype for arbitrary storage. For example with wanting to plot 3d graphics you might want to store vertices with xyz parameters, but realistically there are tons of libraries thst cover a variety of auxillary math functions, yet understanding the construction of stuff will ultimately ease understandimg of how these things work. the class could be extended with functions lending to the necessity of (), like

class name {
int x;
int y;
int z;
int[] w;

name(int a, int b){
x=a;
y=b;
}

name(int a, int b, int c){ //overload
x=a;
y=b;
z=c;
}
name(int a, int b, int c, int[] d) //another
...etc
w=d;
}

doSomething(name obj1, name obj2){
float obj3 = (obj1.x * obj2.y * x) + ( obj2.x * obj1.y * y)
return obj3;
}

void doSomethingElse(float a){
if (a%1 > 0.5f){
print("high");
}else{
print("low");
}
}
}
This gives us some methods with our psuedodatatype object.
we could create information like
name derp = new name(1,2,3);
name lil = new name(1,1,1);
name big = new.name(4,4,4);
float myFloat = derp.doSomething(lil, big) * TWO_PI;

and we can also call functions like

derp.doSomethingElse(myFloat);

i find programming to be interesting but it is very easy to drive ones self insane with keeping track of all their named variables, objects, functions, etc, and java itself is easy to get into with some automatated memory management functions that other lamguages dont have, so in a sense you can focus on the abstract kf what you want a program to do in java without worrying too much about engineering concepts like hard crashes related to physical limits of memory usage and overflowing into other reserved spots of computer memory.

The doSomethingElse function didnt really do anything special with internal parametera so pretend the prints are ("high " + x) and ("low " + y) or something

>school isn't supposed to be fun
>stick through it until assembly, c, and c++
what the fuck is wrong with you, user?

>employer worth a damn
>honorable mention SpaceX
you think sweatshop work conditions are honorable, user?

also name(k,c) would work if k and c are already established variables if thats what you mean.

int k = 7;
int c = 3;
name derp = new name(k,c);

altering k and c after assigning them elsewhere will not alter their clones though.
continuing
k =10;
c *=3;

k would be 10, c would be 9, derp.x would still be 7 and derp.y would still be 3.

>asdfgList
you fuck

no I meant k and c would be actual numbers

rectangle (2,4)

>mfw Rust seems like a cooler C

yes its technically an array and im confusing structure here.

arrays are different than arrayLists in java by default, and more often than not an arrayList is probably the useful one for most applications as the size of the array can be dynamically altered to be shorter or longer instead of being stuck with an initial length.

also multidimensionals arrays

int f = 1;
int[] fArray = new int[5] { 0,1,2,3,4}; //initialize with indexed values already
int[][] fArray2D = new int[5][5];

multi dimensional arrays work by imagining rows and collumns. fArray2D[1][1~5] would be 5 ints in the first row, and fArray2D[2][1~5] would be 5 ints in the second row.

an example usage might be defining the screenspace for a window of computer graphics. with a resolution of 640x480 for the window, we could create something like
int[][] colorSpace = new int[640][480];
that could try to keep track of the monochrome grey color of each individual pixel in the window, looping through like
for(int i=0; i

>int[][] colorSpace = new int[640][480];
>that could try to keep track of the monochrome grey color of each individual pixel in the window, looping through like
>for(int i=0; i[math]~[\math]for(int j=0; j[math]\quad[\math]fArray2D[i][j] = somevisualshit.get(i, j);
>[math]~[\math]}
>}

Reading that and trying to decipher what it means makes me feelsbadman.jpg

for(int i=0; i

I dicked up fuckin Veeky Forumss syntax and it looks retarded cause im a phoneposter

This is all dumb psuedocode example stuff and more than you probably currently need. The class structure of objects/datatypes, loop examples, and other explanations are good general definitions though.

Programming ultimately boils down half the code being original, self-titled variables and functions, while the other half might be imported library functions and learning how those functions work. Code is executed linearly from left to right and top to bottom, and in the case of something like computer graphics will make use of an "animation" block that self-loops. Like drawing a rectangle on the screen isn't just one stationary call to do so. If it were, the rectangle would appear on screen and disappear a millisecond later - this is where a self-repeating animation loop sequence can trigger the man body of a program to draw that rectangle every single moment while the program is running, giving the illusion the rectangle is actually present on screen.

the main basic structure of java's data types, operators, and so on can seriously be figured out in an hour as soon as you wisen to know how to look at example code to differentiate between user-named variables or custom functions from the native stuff.

int NameYourInteger = 1;
float NameYourDouble = 2.0f;
byte NameYourByte = 3;

stuff like that is usually always a variable or object and always needs a name

setting up a function would be written like

returnType FunctionName(dataType paramaters){

returnTypes could be data types like ints or floats or arrays, or "void" to return nothing and simply treat the code of the function as a substitute for rewriting the lines of the function multiple times in the animation body. Example, seeing a function defined like
float dingDong(int a, int b){
float c = ( (float)a/(float)b ) * (a*b);
return c;
//double slash is commented out stuff so you can write notes and it isnt processed as code
}
and the function in use would be like
float myFloat = dingDong(5,9);

(float) operates by casting the integer a or b to floats before attempting division, as the result might otherwise be an attempt at integer division without a floating decimal and therefore likely the wrong result of math. Casting from one data type to another is also easy in java just by placing (workingDataType) in front of the variable

that's why i said "honorable mention"; they didn't make the cut for "employer worth a damn".

you really don't need that much syntax to get stuff done. for java, just know that:

>curly braces
>{}
indicate that the code inside them "belongs" to the thing that they're next to

>parenthesis
>()
either mean argument passing (when they're after a method call) or some kind of loop (when they're after "for" or "while"

>semicolons
>;
mean end-of-statement. put them after every method call and every variable declaration

>operators
>+, -, *, /, etc.
do what they do. if you're too lazy to learn special stuff like ++ and --, just know that changing a variable n looks like this:
>n = n+1;
>n = n-1;
>n = n*1;
and so on.

>brackets
>[]
used for array shit. see my first post. when you declare a new array of length n, it looks like this:
>Object[] arrayName = new Object[n];

when I do
double number = 11.56
double dollar = Math.floor(number)
I get 11.00000000000005 dollars

Changing dollar to an int gives me an error as well.

I can bruteforce it by going

double number=11.56
double cents = (int) number*100
int dollars = cents/100

Or something like that.

You'd probably want to make your own class for a dollar format, where you could input a float and get an int back with something like .d and .c access points for the dollar integer and cent integer.
class money{
int d;
int c;

money(float bux){
d = (int)bux; // gives 11
c = (int) ( (bux-d)*100 ) // 11.56-11= 0.56*100 = 56
}
}

Because its a custom class you couldnt easily just write
money dollars = 11.56;
and would need to instead write
money dollars = new money(11.56);
and dollars.d = 11, dollars.c = 56

but considering there may be a whole list of money values you might want to operate with, you could make a float[] array and convert those into a money[] array with a for loop.

would be nice to syntatically create custom datatypes without instatiating them with "new CLASSOBJECT" first but its not a feature of java.

this should all take about a week

I could write your program for you for cheap

>intro to java class

What do you despise about your economics class?

Float numbers are approximations and when used you should always be aware they are approximate. They work by having a significant and an exponent, en.wikipedia.org/wiki/Floating-point_arithmetic, so there isnt always an exact approximate thus giving you not exactly 11. Other things that can happen is that if you add a small number with a large number nothing happens. Say you add 0.011 to 100 but it can only hold 4 significant 100.011 is a length of 6 and is to long thus it gets truncated to 100.

this

Say that I wanted to do the following

Player A attacks Boss A with melee swing
Melee swings deals 723-857 damage
-melee swing has a 21.34% chance to crit (dealing double)
-melee swing has a 2.13% chance of triggering another melee swing (which can also crit and trigger this ability)
-melee swing has a 10% chance of triggering trinket 1 and causing it to go on cooldown of 10 turns before it can proc again
-melee swing has a 10% chance of triggering trinket 2 and causing it to go on cooldown of 12 seconds before it can proc again
-Spit it what happened (dmg done, if crit and if any trinkets have been activated)

Well, you could always go into teachi-
>high paying
nevermind, you're fucked.

no, programming is a language of discourse in academia and industry.

drop the java, and learn the Haskells:
haskellbook.com

you were made for it young mathling