tisdag 10 maj 2011

.NET Framework för Linux?

Jag funderade på .NET Framework och om jag kan installera det på Linux. Efter att ha sökt runt på Internet en stund hittade jag följande sida om ett Open Source projekt om just detta: http://mono-project.com/Main_Page. Jag ska läsa på och se om jag kan installera detta för min distribution som är GNU Linux Ubuntu 10.04 LTS.

fredag 6 maj 2011

Class för import

Här följer en källkod som jag behöver för min kurs i programmering A.

// källkod för tangentbord, kallad 'tangentbord.java'
import java.io.*;
import java.util.*;

public class Tangentbord{
private static String lastToken = null;
private static StringTokenizer input;
private static BufferedReader br =
new BufferedReader (new InputStreamReader (System.in));

// Undersöker om token finns
private static String getToken(boolean readDelimiters){
String token;
if (lastToken == null){
token = getNextToken (readDelimiters);
}
else{
token = lastToken;
lastToken = null;
}
return token;
}

// Hämtar nästa token
private static String getNextToken(boolean readDelimiters){
final String delimiters = " \t\n\r\f";
String token = null;
try{
if (input ==null){
input = new StringTokenizer
(br.readLine(), delimiters, true);
}
while (token == null ||
(delimiters.indexOf(token) >= 0 &&
!readDelimiters)){
while (!input.hasMoreTokens()){
input = new StringTokenizer
(br.readLine(), delimiters,true);
}
token = input.nextToken();
}
}
catch (Exception e){
token = null;
}
return token;
}

// Returnerar en sträng
public static String readString() {
String str;
try{
str = getToken(true);
while (input.hasMoreTokens()){
str = str + getToken(true);
}
}
catch(Exception e){
System.out.println("Fel vid strängläsning.");
str = null;
}
return str;
}

//Returnerar ett ord.
public static String readWord(){
String token;
try{
token = getToken(false);
}
catch(Exception e){
System.out.println("Fel vid läsning av ord.");
token = null;
}
return token;
}

// Returnerar ett tecken.
public static char readChar(){
String token = getToken(true);
char value;
try{
if (token.length() > 1){
lastToken = token.substring (1, token.length());
}
else{
lastToken = null;
}
value = token.charAt (0);
}
catch(Exception e){
System.out.println("Fel vid läsning av tecken.");
value = Character.MIN_VALUE;
}
return value;
}

// Returnerar en int.
public static int readInt(){
String token = getToken(false);
int value;
try{
value = Integer.parseInt(token);
}
catch(Exception e){
System.out.println("Fel vid läsning av int.");
value = Integer.MIN_VALUE;
}
return value;
}

// Returnerar en long.
public static long readLong(){
String token = getToken(false);
long value;
try{
value = Long.parseLong(token);
}
catch(Exception e){
System.out.println("Fel vid läsning av long.");
value = Long.MIN_VALUE;
}
return value;
}

// Returnerar en float.
public static float readFloat(){
String token = getToken(false);
float value;
try{
value = (new Float(token)).floatValue();
}
catch(Exception e){
System.out.println("Fel vid läsning av float.");
value = Float.NaN;
}
return value;
}

// Returnerar en double.
public static double readDouble(){
String token = getToken(false);
double value;
try{
value = (new Double(token)).doubleValue();
}
catch(Exception e){
System.out.println("Fel vid läsning av double.");
value = Double.NaN;
}
return value;
}
}

Programmering A - kapitel 2

Låt mig börja med att skriva ut exemplerna.
Exempel 2.1:
public class Ex21{
// Utskrift av två meningar
public static void main(String[] args){
System.out.print("Vilket namn ska filen ges? ");
System.out.println("Ex21.java");
}
}
Exempel 2.2:
public class Ex22{
// Reserverade tecken och utmatning på två rader
public static void main(String[] args){
System.out.println("Textsträngear omges med " + "\"-tecknet.");
System.out.println("Ett \\-tecken i en " +
"textsträng måste föregås " +
"av ett \\-tecken");
}
}
Nu till övningarna:
Övning 2.1:
public class Ex21{
// Utskrift av två meningar
public static void main(String[] args){
System.out.println("Vilket namn ska filen ges? " + "Ex21.java");
}
}
Övning 2.2:
public class Öv22{
// Skriv ett program
public static void main(String[] args){
System.out.println("\"To be or not to be, ");
System.out.println("");
System.out.println("that is the question\" ");
}
}

Och nu till repetitionsfrågorna:
Repetion R2.1:
public class R21 {
// Skriven av Leopold H. Birkholm 6 maj 2011, ElevID 380147
//De tre felen var Main (rätt: main), att "static" saknades samt "" saknades i utskriftsraden
public static void main(String[] args){
System.out.println("Det fanns tre fel i koden. ");
System.out.println("De tre felen var Main (rätt: main), att \"static\" " +
"saknades samt \"\" " +
"saknades i utskriftsraden. ");
}
}
Repetion R2.3:
public class R23{
// Skriven av Leopold H. Birkholm 6 maj 2011, ElevID 380147
public static void main(String[] args){
System.out.print("kompilera, ");
System.out.print("interpretera");
System.out.println(" och exekvera");
}
}
Och slutligen uppgifterna till kapitel 2.
Övning 2.1:
public class U21 {
// Skriven av Leopold H. Birkholm 6 maj 2011, ElevID 380147
public static void main(String[] args){
System.out.println("Leopold H. Birkholm");
System.out.println("Järlavägen 5, 13141 Nacka");
System.out.println("leopoldbirkholm@gmail.com");
System.out.println("http://leopoldbirkholm.blogspot.com/");
}
}
Övning 2.2:
public class U22{
// Skriven av Leopold H. Birkholm 6 maj 2011, ElevID 380147
public static void main(String[] args){
System.out.println("JJJ J J J J ");
System.out.println(" J J J J J J J ");
System.out.println(" J J J J J J J");
System.out.println("J J JJJJJ J J JJJJJ");
System.out.println("JJJ J J J J J");
}
}
Uppgifte 2.3:
public class U23{
// Skriven av Leopold H. Birkholm 6 maj 2011, ElevID 380147
public static void main(String[] args){
System.out.println("");
System.out.println(" \" \" \"");
System.out.println("\\ \\ / /");
System.out.println(" O O");
System.out.println(" U");
System.out.println(" ___");
System.out.println("");
}
}

Kapitel 2 är nu klar :-) .