onsdag 13 juni 2012
Skapa jar-fil i eclipse
Föreläsning 26 handlade om hur du skapar en jar-fil i eclipse och om "standardjava", dvs hur man kodar om man inte har tillgång till acm-biblioteket. Han gick bland annat igenom main, vilket gav mig en härlig känsla av att det här kan jag ju redan.
Etiketter:
Stanford Uni
måndag 11 juni 2012
Thread
Föreläsning 25.
Thread - att göra många saker, som du upplever att du gör, samtidigt. Ex kollar mailen, surfar, kollar play.
Multithreading pratade han också om. Hittade dock den här sidan som tar upp det mer ingående.
Thread - att göra många saker, som du upplever att du gör, samtidigt. Ex kollar mailen, surfar, kollar play.
Multithreading pratade han också om. Hittade dock den här sidan som tar upp det mer ingående.
Etiketter:
Stanford Uni
Struktur
Föreläsning 24.
Denna gång går Mehran igenom ett programs struktur, hur du ska tänka när du bygger ditt program.
Principles:
nouns (substantiv) - classes
verbs - methods (associated with your classes)
unique identifier ex. Stanford Uni IDnr, ISBN nr, Artist + album + song
Design
collection of objects
Ex a musicstore called FlyTunes
add Songs
add Albums
class Song: name - String
band - String
price - Double
Think about: What's gonna stay static and what's gonna change?
Denna gång går Mehran igenom ett programs struktur, hur du ska tänka när du bygger ditt program.
Principles:
nouns (substantiv) - classes
verbs - methods (associated with your classes)
unique identifier ex. Stanford Uni IDnr, ISBN nr, Artist + album + song
Design
collection of objects
Ex a musicstore called FlyTunes
add Songs
add Albums
class Song: name - String
band - String
price - Double
Think about: What's gonna stay static and what's gonna change?
Etiketter:
Stanford Uni
fredag 8 juni 2012
Searching and sorting
Lecture 23.
Searching: Linear and Binary
Finding a particular element in an array or some other kind of sequence. The element is called a key.
Linear Search
- timeconsuming
private int linearSearch (int key, int[] array){
for (int i = 0; i < array.length; i++) {
if (key == array[i]) return i;
}
return -1;
}
Binary search
Ask if the nr is higher/lower than the middle nr. Then ask again and again...
The idea of the binary search is the fact that area code array is an ascending order makes it possible to find a particular value much more efficiently. The key insight is that you get more information by starting at the middle element than you do by starting at the beginning.
private int binarySearch(int key){
int kh = 0;
int lh = display.length() -1;
while ( lh <= rh){
int mid = (lh+rh) / 2;
if (key == disp.get(mid)) return mid;
if (key < disp.get(mid)){
rh = mid -1; //to move from the midpoint
}
else{
lh = mid +1;
}
Sorting
Selection sort and Radix sort algorithm
}
return -1;
}
Searching: Linear and Binary
Finding a particular element in an array or some other kind of sequence. The element is called a key.
Linear Search
- timeconsuming
private int linearSearch (int key, int[] array){
for (int i = 0; i < array.length; i++) {
if (key == array[i]) return i;
}
return -1;
}
Binary search
Ask if the nr is higher/lower than the middle nr. Then ask again and again...
The idea of the binary search is the fact that area code array is an ascending order makes it possible to find a particular value much more efficiently. The key insight is that you get more information by starting at the middle element than you do by starting at the beginning.
private int binarySearch(int key){
int kh = 0;
int lh = display.length() -1;
while ( lh <= rh){
int mid = (lh+rh) / 2;
if (key == disp.get(mid)) return mid;
if (key < disp.get(mid)){
rh = mid -1; //to move from the midpoint
}
else{
lh = mid +1;
}
Sorting
Selection sort and Radix sort algorithm
}
return -1;
}
Etiketter:
Java kod,
Stanford Uni
torsdag 7 juni 2012
Blogg
En blogg för nybörjare med vad det verkar, bra och enkla förklaringar och en hel del kod. Me like! A Beginning Programmer's guide to Java.
Etiketter:
Bra sidor
Using Graphics
tisdag 5 juni 2012
Components and containers
Lecture 22.
Mehran talks shortly about Components and containers berfore he goes into a codefrenzy :-)
Components is anything that can appear in a window and containers contains other components. Think of a bag that contains (components and) another bag. Bag in a bag in a...
Mehran talks shortly about Components and containers berfore he goes into a codefrenzy :-)
Components is anything that can appear in a window and containers contains other components. Think of a bag that contains (components and) another bag. Bag in a bag in a...
Etiketter:
Stanford Uni
Text Areas
Den här förmiddagen roar jag mig med den här sidan; How to use Text Areas.
Tänkte lägga upp koden men internet strular på den andra datorn (ja jag sitter med två datorer samtidigt, hehe).
Tänkte lägga upp koden men internet strular på den andra datorn (ja jag sitter med två datorer samtidigt, hehe).
måndag 4 juni 2012
TextField, layout, text&graphics
Lecture 21.
TextField, Layout (Grid and Table) and Text & Graphics. Again a lecture with a lot of code. I am going to dive right into that any second now.
TextField, Layout (Grid and Table) and Text & Graphics. Again a lecture with a lot of code. I am going to dive right into that any second now.
Etiketter:
Stanford Uni
Interactors( GUI)
Lecture 20.
GUI - Graphical User Interface
Interactors
A lot of coding in this lecture. I had to change a lot in his code because i don't have access to the Stanfords own library (which what I understand has a lot of methods already written in it to simplify for the students). Anyhow, interactors are buttons, sliders, checkboxes, radio buttons, combo box and text box.
Don't forget to create an instance variable if you need to keep track of the variable between methodcalles.
Ex.
pick = new JComboBox();
......
}
private JComboBox pick;
GUI - Graphical User Interface
Interactors
A lot of coding in this lecture. I had to change a lot in his code because i don't have access to the Stanfords own library (which what I understand has a lot of methods already written in it to simplify for the students). Anyhow, interactors are buttons, sliders, checkboxes, radio buttons, combo box and text box.
Don't forget to create an instance variable if you need to keep track of the variable between methodcalles.
Ex.
pick = new JComboBox();
......
}
private JComboBox pick;
Etiketter:
Stanford Uni
fredag 1 juni 2012
Iterator
Lecture 19.
Iterator
-> lists through set of values
ArrayList
ArrayList<String> name new ArrayList<String>( );
Iterator<String> it = names.iterator( );
//Always ask if there are any values left
while(it.hasNext()){
println(it.next());
}
HashMap
Don't have the values in order.
//You ask for the key and not the corresponding value
Iterator<String> i = phonebook.keySet( ).iterator( );
//And then use the whileloop
If you don't want to create the iterator there is a new way of writing:
for (String name : phonebook.keySet()){
println(name)
}
Iterator
-> lists through set of values
ArrayList
ArrayList<String> name new ArrayList<String>( );
Iterator<String> it = names.iterator( );
//Always ask if there are any values left
while(it.hasNext()){
println(it.next());
}
HashMap
Don't have the values in order.
//You ask for the key and not the corresponding value
Iterator<String> i = phonebook.keySet( ).iterator( );
//And then use the whileloop
If you don't want to create the iterator there is a new way of writing:
for (String name : phonebook.keySet()){
println(name)
}
Etiketter:
Stanford Uni
Interface, Map and HashMap
Lecture 19.
Interface
-> set of methods
-> common functionality among a set of classes
Syntax: public class ClassName implements InterfaceName
Interface is more general than extends.
Map (interface)
Key
Value
An association between a key and a value. Always keysensitive.
Ex. Dictionary - a map
words - key
defintions - value
Ex. Phonebook - a map
names - key
numbers - value
HashMap (class)
-> implements Map
template -> 2 types ( one type for your keys and one for your values)
HashMap<String, Integer> phonebook = new HashMap<String, Integer>( );
Methods most commonly used: put and get, but also remove, containskey and size.
phonebook.put("Mehran", 7236059);
phonebook.put("Jenny", 8675309);
Integer MehranNumber = phonebook.get("Mehran");
phonebook.remove(key); //removes key AND value
phonebook.containskey(key); // returns a boolean
THINK of it as a bag where you put things in pairs. No order.
Interface
-> set of methods
-> common functionality among a set of classes
Syntax: public class ClassName implements InterfaceName
Interface is more general than extends.
Map (interface)
Key
Value
An association between a key and a value. Always keysensitive.
Ex. Dictionary - a map
words - key
defintions - value
Ex. Phonebook - a map
names - key
numbers - value
HashMap (class)
-> implements Map
template -> 2 types ( one type for your keys and one for your values)
HashMap<String, Integer> phonebook = new HashMap<String, Integer>( );
Methods most commonly used: put and get, but also remove, containskey and size.
phonebook.put("Mehran", 7236059);
phonebook.put("Jenny", 8675309);
Integer MehranNumber = phonebook.get("Mehran");
phonebook.remove(key); //removes key AND value
phonebook.containskey(key); // returns a boolean
THINK of it as a bag where you put things in pairs. No order.
Etiketter:
Stanford Uni
Debugging
Lecture 18.
Design - Architect
Coding - Engineer
Testing - Vandal!
Debugging - Detective
Always be a vandal!
Bad values, faulty logic and unwarranted assumptions (ex. feet instead of meters) causes bugs.
- Most of the problems are SIMPLE
- Be systematic
- Don't make assumptions about the problem(s)
- Be critical (< instead of >)
And don't panic!
Use println to find bugs. Ex. before and after a method or writing out variables.
Unit test - test one unit at the time (with values you give)
Design - Architect
Coding - Engineer
Testing - Vandal!
Debugging - Detective
Always be a vandal!
Bad values, faulty logic and unwarranted assumptions (ex. feet instead of meters) causes bugs.
- Most of the problems are SIMPLE
- Be systematic
- Don't make assumptions about the problem(s)
- Be critical (< instead of >)
And don't panic!
Use println to find bugs. Ex. before and after a method or writing out variables.
Unit test - test one unit at the time (with values you give)
Etiketter:
Stanford Uni
Arraylist vs array
Lecture 18.
Arraylist
+ dynamic resized
+ other operations
- less efficient than an array
- syntax is bulky (more errors can occur)
- pre version 5.0
If you have a fixed size (almost) always use an array!
Arraylist
+ dynamic resized
+ other operations
- less efficient than an array
- syntax is bulky (more errors can occur)
- pre version 5.0
If you have a fixed size (almost) always use an array!
Etiketter:
Stanford Uni
Kodat
På förmiddagen har jag ägnat mig åt att skriva klart koden till arraylistövningen som Mehran går igenom i lektion 17. Det gick lätt som en plätt. Sen försökte jag mig på att göra den sista övningen han gick igenom men fastnade tyvärr. Hade varit lite roligt att få till "regnande siffror" med hjälp av musklickande. Menmen tids nog...
torsdag 31 maj 2012
ArrayList
Lecture 17 - ArrayList.
ArrayList is an object. The actual size equals (almost all the times) the effective size.
import java.util.*;
ArrayList<String> slist = new ArrayList<String>( ); //an arraylist of strings
An arraylist holds objects. You can't use primitve types as int, double etc. However you can use the wrapperclass; Integer, Double, Boolean, Character. Notice: They are immuntable, just like Strings, which means that you can't change them. You have to create a new one and override the old one.
But when you write your code you can write like this:
ArrayList<Integer> ilist = new <Integer>( );
int x = 5;
ilist.add(x);
int z = ilist.get(0);
ArrayList is an object. The actual size equals (almost all the times) the effective size.
import java.util.*;
ArrayList<String> slist = new ArrayList<String>( ); //an arraylist of strings
An arraylist holds objects. You can't use primitve types as int, double etc. However you can use the wrapperclass; Integer, Double, Boolean, Character. Notice: They are immuntable, just like Strings, which means that you can't change them. You have to create a new one and override the old one.
But when you write your code you can write like this:
ArrayList<Integer> ilist = new <Integer>( );
int x = 5;
ilist.add(x);
int z = ilist.get(0);
Etiketter:
Stanford Uni
2 dimension array
type [ ] [ ] name = new type [size][size];
int [ ] [ ] twoD = new int [2][3];
for (int i =0; i < 2; i++){
for (int j =0; j < 3; j++){
twoD[i][j] = 1;
}
}
int [ ] [ ] twoD = new int [2][3];
for (int i =0; i < 2; i++){
for (int j =0; j < 3; j++){
twoD[i][j] = 1;
}
}
Etiketter:
Java kod
++, post and pre increment
++ is a method and it returns something.
x ++; is called post increment and it adds 1 after the value is returned.
++x; is called pre increment and adds 1 and then returns the new value.
x ++; is called post increment and it adds 1 after the value is returned.
++x; is called pre increment and adds 1 and then returns the new value.
Swapping values using arrays
private void SwapElements (int [ ] arrayName; int position1, int position2){
int temporary = arrayName[position1];
arrayName[position1] = arrayName[position2];
arrayName[position2] = temporary;
}
You have to send (to the method) the actual array and the positions of the elements in it that you want to swap. If you send only the elements (int arrayName[1], int arrayName[3]) you are only sending a COPIE and it will change nothing in the array itself.
int temporary = arrayName[position1];
arrayName[position1] = arrayName[position2];
arrayName[position2] = temporary;
}
You have to send (to the method) the actual array and the positions of the elements in it that you want to swap. If you send only the elements (int arrayName[1], int arrayName[3]) you are only sending a COPIE and it will change nothing in the array itself.
Arrays
Lektion 16 handlar bland annat om Arrayer.
An array is ordered and homogeneous. You are creating space for the object. An array is passed by reference (as an object) and NOT as a copie.
type[ ] name = new type[size];
There is a difference between acutal size (what you declare) and effective size (what you really are using).
Ex. asking the user for the values in the array
int[ ] myArray = new int[5];
for (int i = 0; i < 5; i++){
myArray[i] = readInt("Value?:");
}
Ex. Ask the user for the length of the array
int maxLength = readInt("Max sixe of the array:");
int[ ] myArray = new int [maxLength];
Ex. To keep track of where you are putting your values
private static final int SENTINEL = -1;
int numberOfScores = 0;
for (int i = 0; i < maxLength; i ++){
myArray[i] = readInt ("Next score:");
if (myArray[i] == SENTINEL) break;
numberOfScores++;
An array is ordered and homogeneous. You are creating space for the object. An array is passed by reference (as an object) and NOT as a copie.
type[ ] name = new type[size];
There is a difference between acutal size (what you declare) and effective size (what you really are using).
Ex. asking the user for the values in the array
int[ ] myArray = new int[5];
for (int i = 0; i < 5; i++){
myArray[i] = readInt("Value?:");
}
Ex. Ask the user for the length of the array
int maxLength = readInt("Max sixe of the array:");
int[ ] myArray = new int [maxLength];
Ex. To keep track of where you are putting your values
private static final int SENTINEL = -1;
int numberOfScores = 0;
for (int i = 0; i < maxLength; i ++){
myArray[i] = readInt ("Next score:");
if (myArray[i] == SENTINEL) break;
numberOfScores++;
Etiketter:
Stanford Uni
onsdag 30 maj 2012
Copying a file
Här blev det lite snurrigt men enkom för att jag trodde att jag gjorde ett program för att skriva filer men egentligen var det ju att kopiera filer... skyller på sommarvärmen. Nu är det klart i alla fall och funkar prima. Kodandet fortsätter...
fredag 25 maj 2012
Open and read textfile
Äntligen löste lyckades jag med uppgiften. Jag raderade allt från igår och började om på nytt.
/*
* Date: 2012-05-25
* Making a program for open and reading a textfile
*/
package fileDemo;
import java.util.Scanner;
public class FileDemo {
public static void main (String[] args){
//create Fileobject
File file1 = new File();
//get filename
System.out.println("Filens namn: ");
Scanner in = new Scanner (System.in);
String filename = in.nextLine();
//invoke methods on that object
file1.openFile(filename);
file1.readFile();
}
}
/*
* Date: 2012-05-25
* Making a program for open and reading a textfile
*/
package fileDemo;
import java.util.Scanner;
public class FileDemo {
public static void main (String[] args){
//create Fileobject
File file1 = new File();
//get filename
System.out.println("Filens namn: ");
Scanner in = new Scanner (System.in);
String filename = in.nextLine();
//invoke methods on that object
file1.openFile(filename);
file1.readFile();
}
}
package fileDemo;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class File {
//variables
String filename;
BufferedReader rd = null;
//methods
public BufferedReader openFile(String newFilename){
filename = newFilename;
System.out.println(newFilename);
while (rd == null){
try{
rd = new BufferedReader (new FileReader(newFilename));
}
catch (IOException ex){
System.out.println("This file does not exist.");
break;
}
}
return rd;
}
public void readFile(){
try{
while (true){
String line = rd.readLine();
if (line == null) break;
System.out.println("Read line: [" + line + "]");
}
rd.close();
}
catch (IOException ex){
System.out.println("There is nothing on this file to read.");
}
}
}
Etiketter:
Java kod
Repetera repetera
Under förmiddagen har jag repeterat. Gått igenom gamla anteckningar. Främst gällande Java programming concepts; What is... an object, a class, inheritance, interface och package. Sen har jag försökt att överblicka gårdagens kodande genom att skriva ner pseudokod (vilket jag förstås borde gjort innan jag började koda).
torsdag 24 maj 2012
Reading files
Försöker koda senaste föreläsningens exempel. Fastnar på mycket men lyckas lösa det mesta. Tyvärr får jag det inte att fungera i alla fall. Jag lyckas bara få programmet att läsa första raden (ungefär en miljon gånger dock.. hehe). Fortsättning följer alltså...
Sidorna som hjälpte mig på vägen:
http://docs.oracle.com/javase/tutorial/essential/io/file.html
http://www.roseindia.net/java/beginners/java-read-file-line-by-line.shtml
Sidorna som hjälpte mig på vägen:
http://docs.oracle.com/javase/tutorial/essential/io/file.html
http://www.roseindia.net/java/beginners/java-read-file-line-by-line.shtml
Etiketter:
Java kod
tisdag 22 maj 2012
Files and Exception
Lecture 15 - Files. Läsa och skriva.
Läsa.
1) Open
object -> file (on disc)
BufferedReader (class that exists on IO)
2) Read file (line by line)
3) Close
Om inte filen finns att hämta så får du ett throws exception och om någon inte fångar exception så avslutar datorn programmet. Någon måste fånga stackarn!
Ex. try {
"code for file access"
}
catch (IOException ex) {
"deal with the exception"
}
Om du inte vet vad du ska göra med exception så kan du kasta det vidare med
catch (IOException ex) {
throw new ErrorException(ex);
}
Skriva en fil
1) Open
PrintWriter
2) Write (to a file)
println
3) Close
OBS! Var försiktig då du väljer filnamn. Om namnet redan existerar så skriver du över den.
Läsa.
1) Open
object -> file (on disc)
BufferedReader (class that exists on IO)
2) Read file (line by line)
3) Close
Om inte filen finns att hämta så får du ett throws exception och om någon inte fångar exception så avslutar datorn programmet. Någon måste fånga stackarn!
Ex. try {
"code for file access"
}
catch (IOException ex) {
"deal with the exception"
}
Om du inte vet vad du ska göra med exception så kan du kasta det vidare med
catch (IOException ex) {
throw new ErrorException(ex);
}
Skriva en fil
1) Open
PrintWriter
2) Write (to a file)
println
3) Close
OBS! Var försiktig då du väljer filnamn. Om namnet redan existerar så skriver du över den.
Heap and stack
Lecture 14 handlade om memory allocation, heap and stack.
Heap
- här sparas de dynamiska variablerna, ex = new GOval( ... )
- "växer nedåt", adresserna ökar
Stack
- Lokala variablar och parametrar. När programmet stängs så försvinner dessa.
- "växer uppåt", adresserna minskas
Att se som postlådor med olika adresser.
OBS! Gällande objekt. Om du kallar på en metod och skickar med ett objekt så skickar du själva objektet och inte en kopia. Vilket innebär att om du ändrar i objektet i den metoden och skickar det vidare så har du ändrat objektet. (Tänk Mona Lisa som du sågar itu).
You are passing by object (reference)
Detta till skillnad gällande primitiva värden (int, double, boolean, char) där "you pass by value".
Heap
- här sparas de dynamiska variablerna, ex = new GOval( ... )
- "växer nedåt", adresserna ökar
Stack
- Lokala variablar och parametrar. När programmet stängs så försvinner dessa.
- "växer uppåt", adresserna minskas
Att se som postlådor med olika adresser.
OBS! Gällande objekt. Om du kallar på en metod och skickar med ett objekt så skickar du själva objektet och inte en kopia. Vilket innebär att om du ändrar i objektet i den metoden och skickar det vidare så har du ändrat objektet. (Tänk Mona Lisa som du sågar itu).
You are passing by object (reference)
Detta till skillnad gällande primitiva värden (int, double, boolean, char) där "you pass by value".
Etiketter:
Stanford Uni
fredag 11 maj 2012
Användning av char och String
Utifrån Lecture 12 har jag idag suttit och kodat (nästan) alla exempel. Hur göra om bokstäver och ord/meningar till stora/små bokstäver. Räknar med char. Använda klassen Character etc. Det mesta verkar funka. En sak som är bra att komma ihåg är att det inte går att läsa in char via Scanner. Det man får göra är att läsa in en String och sedan omvandla den (första bokstaven) till char på följande sätt:
String s = in.NextLine();
char ch = s.charAt(0); //Där 0 är index
Att räkna igenom alfabetet:
for (char ch = 'A'; ch <= 'Z'; ch++){
}
String s = in.NextLine();
char ch = s.charAt(0); //Där 0 är index
Att räkna igenom alfabetet:
for (char ch = 'A'; ch <= 'Z'; ch++){
}
Etiketter:
Java kod
torsdag 10 maj 2012
String, Tokenizers and encryption
Föreläsning 13.
String:
- ta reda på hur många upperCase letters i en String
- to find a position of a String inside a bigger String and replace that String with another.
Tokenizers:
- delimited by space
- hello there Mary and hello, there (allt understruket är tokens, lägg märke till hello, )
import java.util.*;
String line = readLine();
String Tokenizer tokenizer = new String Tokenizer (line);
Encryption:
- For ex. Caeser Cipher. Rotate alphabet by n letters, n is called the key. Wrap-around at the end.
OBS Att gå igenom en String en bokstav i taget:
for (int i = 0; i < str.length(); i++) {
char ch = str.charAt(i);
String:
- ta reda på hur många upperCase letters i en String
- to find a position of a String inside a bigger String and replace that String with another.
Tokenizers:
- delimited by space
- hello there Mary and hello, there (allt understruket är tokens, lägg märke till hello, )
import java.util.*;
String line = readLine();
String Tokenizer tokenizer = new String Tokenizer (line);
Encryption:
- For ex. Caeser Cipher. Rotate alphabet by n letters, n is called the key. Wrap-around at the end.
OBS Att gå igenom en String en bokstav i taget:
for (int i = 0; i < str.length(); i++) {
char ch = str.charAt(i);
Etiketter:
Stanford Uni
String och char
Föreläsning nr 12. Genomgång av char och String.
Char är primitiv dvs when you pass a char you pass a copie of the char. Detta till skillnad från String som är en klass (med objekt). String är immutable, dvs när du väl deklarerat en String så kan du inte ändra i den, istället får du skapa en ny String.
För att ex. ändra till stora bokstäver gör du följande;
char: char ch;
ch = Character.toUpperCase(ch);
String: String str;
str = str.toUpperCase();
- För String kan du ej använda == och < >. Använd istället equals och CompareTo
Char är primitiv dvs when you pass a char you pass a copie of the char. Detta till skillnad från String som är en klass (med objekt). String är immutable, dvs när du väl deklarerat en String så kan du inte ändra i den, istället får du skapa en ny String.
För att ex. ändra till stora bokstäver gör du följande;
char: char ch;
ch = Character.toUpperCase(ch);
String: String str;
str = str.toUpperCase();
- För String kan du ej använda == och < >. Använd istället equals och CompareTo
Etiketter:
Stanford Uni
En bra sida?
Den här sidan kanske kan vara något. Yet another insignificant... programming notes. Jag läser om GUI programming in Java.
Etiketter:
Hemsidor programmering,
Java kod
onsdag 9 maj 2012
Loop i en loop
Repeterar loopar. En loop är nemas problemas. En loop i en loop... blir inte riktigt som jag tänkt och jag får således tänka några varv till.
ArrayList
Försöker lösa problemet med att skapa en lista och allt eftersom mata in nya data i listan. Den här sidan har varit till hjälp. Det är enkelt när jag vet vilka element som ska sättas till listan men värre när jag har en
Scanner in = new Scanner (System.in);
String name = in.nextLine();
då variabeln name heter likadant men innehåller olika värden beroende på vad jag skriver in. Snurrig? Jag!?
I alla fall för att skapa en lista och adda element till den gör jag följande;
ArrayList<String> list = new ArrayList<String>();
list.add(name);
list.add(name);
list.add(name);
så får jag tänka ut resten senare.
Scanner in = new Scanner (System.in);
String name = in.nextLine();
då variabeln name heter likadant men innehåller olika värden beroende på vad jag skriver in. Snurrig? Jag!?
I alla fall för att skapa en lista och adda element till den gör jag följande;
ArrayList<String> list = new ArrayList<String>();
list.add(name);
list.add(name);
list.add(name);
så får jag tänka ut resten senare.
Etiketter:
Java kod
tisdag 8 maj 2012
Image class, compound class, event-driven programs
Lecture 11 Programming methodology. Mehran går igenom The Image class, Compound class och event-driven programs, bland annat.
The compound class allows for combining several graphics objects so they behave like one Object. You add objects to a compound (like it was a canvas) and you can treat the whole Compound as one object.
Event-driven programs
- Whens users interact with computer they generate events (e.g. moving/clicking the mouse, typing etc)
- Can respond to event by having listener for events.
addKeyListeners()
import java.awt.event.*
Asynchronously; it happens but you don't know when it happens
The compound class allows for combining several graphics objects so they behave like one Object. You add objects to a compound (like it was a canvas) and you can treat the whole Compound as one object.
Event-driven programs
- Whens users interact with computer they generate events (e.g. moving/clicking the mouse, typing etc)
- Can respond to event by having listener for events.
addKeyListeners()
import java.awt.event.*
Asynchronously; it happens but you don't know when it happens
Etiketter:
Stanford Uni
Listor
Vill skapa en lista med filmer och deras betyg. Fastnar av någon outgrundlig anledning alltid vid arrays och lists...
Fick tillbaka koden till MyCounter och Freakshow (playing with GUI) från M. Han tyckte det såg bra ut! Tyvärr lyckas jag ändå inte, trots tips om att skapa en new JPanel för båda objekten, riktigt få programmet som jag vill ha det.
Fick tillbaka koden till MyCounter och Freakshow (playing with GUI) från M. Han tyckte det såg bra ut! Tyvärr lyckas jag ändå inte, trots tips om att skapa en new JPanel för båda objekten, riktigt få programmet som jag vill ha det.
Constructors
Kollade igen på Lecture 9, Programming Methodology Stanford University. Objects and constructors. Mycket bra föreläsningsserie btw!
Constructors:
- Name of class is used as constructor name
- Constructor does not specify return type
- Responsibly for initializing object
- It is called when an object is created
Constructors:
- Name of class is used as constructor name
- Constructor does not specify return type
- Responsibly for initializing object
- It is called when an object is created
Etiketter:
Stanford Uni
Prenumerera på:
Inlägg (Atom)