Senaste inläggen

Av Emma - 4 januari 2013 20:08

///////////////////////

//Skapa en telefonbok

///////////////////////

import java.io.*;

public class ovning41 {

public static void main(String[] args)

throws IOException {


System.

out.print("Vad vill du döpa filen till?");

String fil = Keyboard.readString();

boolean add = true;

FileWriter fw =

new FileWriter(fil, add);

BufferedWriter bw =

new BufferedWriter(fw);

PrintWriter utFil =

new PrintWriter(bw);


System.

out.print("Hur många vänner vill du mata in?");

int antal = Keyboard.readInt();

for (int n = 0; n < antal; n++){

System.

out.print("Namn: ");

String namn = Keyboard.readString();

System.

out.print("Nummer: ");

int nummer = Keyboard.readInt();

utFil.println(namn +

"\t" + nummer);

}


System.

out.print("Vill du mata in fler?(j/n)");

char svar = Keyboard.readChar();

if (svar == 'j'){

System.

out.print("Vill du skriva över de andra eller lägga till?(s/l)");

char val = Keyboard.readChar();

if (val == 's'){

add =

false;

System.

out.print("Hur många vänner vill du mata in?");

antal = Keyboard.readInt();

for (int n = 0; n < antal; n++){

System.

out.print("Namn: ");

String namn = Keyboard.readString();

System.

out.print("Nummer: ");

int nummer = Keyboard.readInt();

utFil.println(namn +

"\t" + nummer);

}

}

else {

System.

out.print("Hur många vänner vill du mata in?");

antal = Keyboard.readInt();

for (int n = 0; n < antal; n++){

System.

out.print("Namn: ");

String namn = Keyboard.readString();

System.

out.print("Nummer: ");

int nummer = Keyboard.readInt();

utFil.println(namn +

"\t" + nummer);

}

}

}

utFil.close();

}

}

Av Emma - 4 januari 2013 19:16

import java.io.* --> Importerar nödvändiga klasser för fihantering.

FileWriter fw = new FileWriter(fil) --> Ett objekt av typen FileWriter används för att öppna en kanal för skriving till en fil. Om filen innehåller data, ersätts dessa.

FileWriter fw = new FileWriter(fil, true) --> Ett objekt av typen FileWriter används för att öppna en kanal för skriving till en fil. Om filen innehåller data, placeras nya data sist.

BufferedWriter bw = new BufferedWriter(fw) --> Ett objekt av typen BufferedWriter används för att buffra datamängden som skrivs till en fil.

PrintWriter utFil = new PrintWriter(bw) --> Ett objekt av typen PrintWriter används för att få tillgång till skrivmetoderna print ochh println vid skrivning till fil.

utFil.print("innehåll") --> Information skrivs till filen.

utFil.close() --> Stänger förbindelsen med filen.

throws IOException --> Placeras i metodhuvudet för att hantera eventuella fel.

try {satser för filhantering}

catch {satser för felhantering} --> Används för att hantera eventuella fel.

FileReader fr = new FileReader(fil) --> Ett objekt av typen FileReader används för att öppna en kanal för läsning från en fil.

BufferedReader inFil = new BufferedReader(fr) --> Ett objekt av typen BufferedReader används för att buffra datamängden som läses från en fil.

inFil.readLine() --> Läser en rad från filen.

inFil.close() --> Stänger förbidelsen med filen.

import java.util.StringTokenizer --> Klassen StringTokenizer importeras för att kunna dela upp strängar i mindre delar.

StringTokenizer tokenizer = new StringTokenizer(rad, tecken) --> Ett objekt av klassen StringTokenizer skapas, som kan dela upp strängen rad med hjälp av skiljetecknet tecken.

tokenizer.nextToken() --> Plockar ut en del av en sträng fram till givet tecken eller till strängens slut om tecknet saknas.

Av Emma - 24 november 2012 21:17

Exempel:


///////////////////////////////////////////////////

//Skriv ett program som låter användaren mata

//in tio värden och som sorterar dessa i fallande

//ordning. Programmet avslutas med en utskrift

///////////////////////////////////////////////////

public

class uppgift31 {

public static void main(String[] args) {

//initering

double tal[] = new double[10];

int antal = 0;

//imatning av tal

System.

out.print("Mata in ett tal: ");

double temp = Keyboard.readDouble();

tal[antal++] = temp;

//imatning av tal upp till tio st

while (antal < 10){


System.

out.print("Mata in ett tal: ");

temp = Keyboard.readDouble();

tal[antal++] = temp;

}

//sortering

UppgSort.sort(tal);

//Utmatning

for (int n = 0; n < antal; n++){

System.

out.print(tal[n] + " ");

}

}

}


____________________________


/////////////////////////////////////////////

//Utöka programmet från föregående uppgift

//så att användaren tillfrågas om materialet

//ska sorteras stigande eller fallande.

//Därefter vidtar sorteringen.

/////////////////////////////////////////////

public

class uppgift32 {

public static void main(String[] args) {

//initering

double tal[] = new double[10];

int antal = 0;

//imatning av tal

System.

out.print("Mata in ett tal: ");

double temp = Keyboard.readDouble();

tal[antal++] = temp;

//imatning av tal upp till tio st

while (antal < 10){

System.

out.print("Mata in ett tal: ");

temp = Keyboard.readDouble();

tal[antal++] = temp;

}

//val av sorteingsordning

System.

out.print("Vill du att talen ska sorteras fallande (f) eller stigande (s)");

char svar = Keyboard.readChar();

if (svar == 'f'){

//sortering i fallande ordning

UppgSort.sort(tal);

//Utmatning

for (int n = 0; n < antal; n++){

System.

out.print(tal[n] + " ");

}

}

else if (svar == 's'){

UppgSort.sort2(tal);

//Utmatning

for (int n = 0; n < antal; n++){

System.

out.print(tal[n] + " ");

}

}

else {

System.

out.print("Det går inte");

}

}

}

____________________________


///////////////////////////////////////////////////

//Skriv ett program som låter användaren

//mata in ett antal positiva tal. Inmatningen

//avbryts med ett negativt tal. Därefter ska

//en statistisk redovisning av materialet ske.

//Den ska innehålla största värde, minsta värde,

//medelvärde samt median. Observera att antalet

//värden antingen kan vara jämnt eller udda,

//vilket är viktigt vid medianberäkningen.

//////////////////////////////////////////////////

public class uppgift33 {

public static void main(String[] args) {

//initering

double tal[]  = new double[1000];

int antal = 0;

//Inmatning av tal

System.

out.print("Mata in positiva tal. Avsluta med ett negativt. ");

double temp = Keyboard.readDouble();

tal[antal] = temp;

//inatning av tal tills användaren matar in ett negativt tal

while (temp > 0){

tal[antal++] = temp;

System.

out.print("Mata in tal: ");

temp = Keyboard.readDouble();


}

//while

//Uträkningar

double storst = UppgSort.storst(tal, antal);

double minst = UppgSort.minst(tal, antal);

double medel = UppgSort.medel(tal, antal);


//Utmatning

System.

out.print("Störst: " + storst +

"\nMinst: " + minst +

"\nMedel: " + medel);

}

}


____________________________

public class UppgSort {

public static void sort(double data[]){

for (int m = 0; m < data.length-1; m++){

for (int n = m+1; n < data.length; n++){

if (data[m] < data[n]){

double temp = data[m];

data[m] = data[n];

data[n] = temp;

}

}

}

}

//sort

public static void sort2(double data[]){

for (int m = 0; m < data.length-1; m++){

for (int n = m+1; n < data.length; n++){

if (data[m] > data[n]){

double temp = data[m];

data[m] = data[n];

data[n] = temp;

}

}

}

}

//sort2

public static void sort3(int data[]){

for (int m = 0; m < data.length-1; m++){

for (int n = m+1; n < data.length; n++){

if (data[m] > data[n]){

int temp = data[m];

data[m] = data[n];

data[n] = temp;

}

}

}

}

//sort3

public static double storst(double data[], int antal){

double storst = data[0];

for (int i = 1; i < antal; i++){

if (data > storst){

storst = data;

}

//if

}

//for

return storst;

}

//storst

public static double minst(double data[], int antal){

double minst = data[0];

for (int i = 1; i < antal; i++){

if (data < minst){

minst = data;

}

//if

}

//for

return minst;

}

//minst

public static double medel(double[] data, int antal){

double totalt = data[0];

for (int i = 1; i < antal; i++){

totalt += data;

}

//for

double medel = totalt / antal;

return medel;

}

//medel

public static double median(double[] data, int antal){

double median = 0;

//sortering

for (int m = 0; m < data.length-1; m++){

for (int n = m+1; n < data.length; n++){

if (data[m] < data[n]){

double temp = data[m];

data[m] = data[n];

data[n] = temp;

}

}

}

//uträkning

if (antal%2 != 0){

int halv = antal/2;

median = data[halv++];

}

//if

else if (antal%2 == 0){

int halv = antal/2;

median = data[halv] + data[halv++] / 2;

}

//else if

return median;

}

//median

public static int delbar(int data[]){

int delbara = 0;

for (int i = 0; i < 10; i++){

if (data % 3 == 0){

delbara++;

}

//if

}

//for

return delbara;

}

//delbar


}

//UppgSort

Av Emma - 24 november 2012 21:16

Exempel:

////////////////////////////////////////////////////////////////////////

//Använd en lämplig standardmetod för att söka efter ett ord i en text.

//Låt programmet redovisa resltatet av sökningen på ett lämpligt sätt.

////////////////////////////////////////////////////////////////////////

public

class uppgift14_2 {

publicstaticvoid main(String[] args) {

//Pers variant

        System.out.println("Skriv en text.");

        String text = Keyboard.readString();

        System.out.print("Skriv ett ord: ");

        String ord = Keyboard.readString();

      

int position = text.indexOf(ord);


      

if (position != -1){

             System.out.println("Ordet " + ord + " finns.");

        }

      

else{

             System.out.println("Ordet " + ord + " saknas.");

        }


 

}

}

Av Emma - 24 november 2012 21:05

Sorterings- och sökalgoritmer:

Bubbelsortering --> Varje värde flyttar ett steg åt gången genm att byta plats med efterföljande värde till dess att ett annat värde ska bubbla vidare.


public static void sort(double data[]){

for (int m = 0; m < data.length-1; m++){

for (int n = m+1; n < data.length; n++){

if (data[m] < data[n]){

double temp = data[m];

data[m] = data[n];

data[n] = temp;

}

}

}

}

//sort

public static void sort2(double data[]){

for (int m = 0; m < data.length-1; m++){

for (int n = m+1; n < data.length; n++){

if (data[m] > data[n]){

double temp = data[m];

data[m] = data[n];

data[n] = temp;

}

}

}

}

//sort2

________________________



Infogande sortering --> Ett nytt värde infogas på lämplig plats i en redan sorterad delmängd.


public static void infSort(double data[], int antal){

for (int m=1; m < antal; m++){

int position = m;

double temp = data[m];

while (position > 0 && data[position-1] > temp){

data[position] = data[position-1];

position--;

}

data[position] = temp;

}

}

public static void infSort2(double data[], int antal){

for (int m=1; m < antal; m++){

int position = m;

double temp = data[m];

while (position > 0 && data[position-1] < temp){

data[position] = data[position-1];

position--;

}

data[position] = temp;

}

}


Av Emma - 24 november 2012 20:56

Klasser och objekt:

public class Klassnamn{

   typ datamedlem1;

   typ datamedlem2;


   metoder

} --> En klass inleds med orden pubic class följt av klassens namn. Två klamrar inramar klassen. Mellan dessa skrivs dess datamedlemmar samt de metoder som krävs för att hantera dessa.


Klassnamn namn = new Klassnamn(); --> Klassobjektet namn skapas oftast med parametrar för att kunna ge datamedlemmar värden. I uttrycket till vänster finns dock inga parametrar.


namn.metod() --> Datamedlemmar hos objektet namn nås vanligtvis genom att använda namnet, punktperatorn och en ämplig metod eventuellt med parametrar.


Klassnamn[] namn = new Klassnamn[antal]; --> Ett fält med plats för antal objekt skapas. Objekten finns dock ännu inte.

Av Emma - 24 november 2012 20:23

Fält och strängar:

typ[] namn = new typ[storlek]

Keyboard.metod() --> används för att läsa data från tangentbordet. Metod välj efter vilket typ av data som ska läsas.


s.charAt(pos) --> används för att läsa ett tecken i position pos i strängen s.
s.length() --> Ger antalet tecken i strängen s.

s1.concat(s2) --> Strängen s2 läggs till i slutet av s1.

s = s1 + s2 --> Innehållet i två strängar kan slås ihop med +-operatorn.

s1.compareTo(s2) --> Returnerar 0 om strängarna är identiska, ett negativt tal om s1 kommer före s2 i alfabetiskt ordning och ett positivt tal om s2 kommer först. Alla versaler kommer före gemener.

s1.compareToIgnoreCase(s2) --> samma som inom men ignorerar om det är versaler eller gemener.

s1.equals(s2) --> Returnerar true om strängarna s1 och s2 är identiska, annars false.

s.indexOf(tecken, start) --> Returnerar positionen för  tecknet tecken i s. Sökningen börjar i start. Om tecknet inte hittas blir returvärdet -1. Utan startvärde börar sökningen i första positionen.

s.substring(start, slut) --> Tar ut en delsträng med början i position start och med slutet i position slut-1.

s.indexOf(sträng, start) --> Returnerar positionen för  strängen sträng i s. Sökningen börjar i start. Om tecknet inte hittas blir returvärdet -1. Utan startvärde börar sökningen i första positionen.



Av Emma - 24 november 2012 20:11

////////////////////////////////////////////////////

//Skriv ett program spm håller reda på dina vänners

//telefonnummer. Namn och telefonnummer ska matas in

//från tangentbordet. Hela namn- och ummerlistan ska

//sedan skrivas ut till skärmen. Programmet ska kunna

//hantera ett valfritt antal vänner och inmatningen

//kan avbrytas genom att t.ex namnet får värdet #.

//////////////////////////////////////////////////////

public

class uppgift22 {

publicstaticvoid main(String[] args) {

//Initering av variabler som används senare fler gånger

namntelefon[] lista = new namntelefon[1000];

int antal = 0;

boolean fortsätt = true;

int i = 0;


System.out.println("Mata in dina vänner. Avsluta med ordet \"stopp\"");

//Användaren matar in sina vänner

do{

System.out.print("Namn: ");

String namn = Keyboard.readString();

//Om använder skriver stopp så slutar loopen

String slut = "stopp";

if (slut.equals(namn)){

fortsätt = false;

}

else {

System.out.print("Telefonnummer: ");

int nummer = Keyboard.readInt();

//Lägger in värdena i listan

lista = new namntelefon(namn, nummer);

//Lägger till i räkningen

i++;

antal++;

}


}

while (fortsätt);


System.

out.println("Dina vänner: ");

for (int n = 0; n < antal; n++){

lista[n].skriver();

}

}

}



public class namntelefon {

private String namn;

private int nummer;

//konstruktor

public namntelefon (String n, int t){

namn = n;

nummer = t;

}

public void skriver (){

System.

out.println("Namn: " + namn + "\nNummer: " + nummer);


}


}

Presentation

Fråga mig

0 besvarade frågor

Kalender

Ti On To Fr
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<<< Januari 2013
>>>

Sök i bloggen

Senaste inläggen

Kategorier

Arkiv

RSS

Besöksstatistik


Ovido - Quiz & Flashcards