Q: How can I make it so that my variable is used throughout the whole method If I have an int in my for loop, how can I print it out after my for loop. It gets an error saying i is not a variable?
for (int i = 1; i < ar.length; i++) {
}   
System.out.println(i);


A: You can't make local variables (variables declared inside methods) public; that's only for member variables (variables at class level, declared outside a method).
You have to understand scope. Variables are only visible within a scope. The scope of a local variable is from the point it is defined until the closing } of the block it is defined in. For variables declared in a for, the scope is the body of the for statement (the { ... } after the for).
So, the variable i is does not exist beyond the body of the for statement.
You have to declare i outside the for:
int i;

for (i = 1; i < ar.length; i++) {
    // ...
}

System.out.println(i);


A: for (int i = 1; i < ar.length; i++) {
}   

When you declare the variable inside the loop (without public, mind you), it is only available inside of the loop. If you want to refer to it outside of the loop, move the declaration out of the loop.
int i;

for (i = 1; i < ar.length; i++) {
}

System.out.println(i);

Note that this will only print one line. It'll print the final value of i after the loop finishes.
If your intention was to print all the values of i while the loop iterates, instead you should move the print call inside the loop. In that case you could leave i as a loop variable.
for (int i = 1; i < ar.length; i++) {
    System.out.println(i);
}

