webForumDet fria alternativet

Reg exp i java

6 svar · 365 visningar · startad av Re-JeeP

Re-JeePMedlem sedan sep. 200642 inlägg
#1

Hej!

Skulle någon kunna ge mig ett kort exempel på ett en funktion som kollar om en sträng matchar.

Typ:

String a = "-a/+b";

if(match) {
// Gör något om det matchar!
}

LimeMedlem sedan sep. 2001961 inlägg
#2

Re-JeeP skrev:

Hej!

Skulle någon kunna ge mig ett kort exempel på ett en funktion som kollar om en sträng matchar.

Typ:

String a = "-a/+b";

if(match) {
// Gör något om det matchar!
}

http://java.sun.com/j2se/1.5.0/docs/api/java/util/regex/Pattern.html

Kanske...

Eller är det just strängen "-a/+b" du vill ha hjälp med??

Re-JeePMedlem sedan sep. 200642 inlägg
#3

Lime skrev:

http://java.sun.com/j2se/1.5.0/docs/api/java/util/regex/Pattern.html

Kanske...

Eller är det just strängen "-a/+b" du vill ha hjälp med??

Hej!

Jag fick just reda på att det fanns en api. Hittade sidan du gav mig själv och fixade mitt regexp!

När jag ändå har en tråd öppen har jag ett annat problem.

Jag ska via en metod retunera en referens till en klass med ett visst värde i sig.

typ:

class test
{
	int private tal;
	
	public test(int a)
	{
		tal = a;
	}
	
	public ...... metod(int b)
	{
		if(vilkor) {
			return test(b);
		}
	}
}

Jag ska alltså retunera en referens till en klass som har en parameter i sig med värdet b.

LimeMedlem sedan sep. 2001961 inlägg
#4

Då gör du prexis som du gör för att returnera en atomär eller en String.

alltså om du vill returnera klassen Data som tar en int i sin konstruktor så gör du såhär;

public Data initData(String textual_int)
{   
    Data result;
    if("ett".equals(textual_int))
         result = new Data(1);
    if("två".equals(textual_int))
         result = new Data(2);
    if("tre".equals(textual_int))
         result = new Data(3);

    return result;
}

I java så är det alltid så att det är "pass by value" in i metoder och "return by reference".

Re-JeePMedlem sedan sep. 200642 inlägg
#5

Lime skrev:

Då gör du prexis som du gör för att returnera en atomär eller en String.

Vad menas med atomär?

Lime skrev:

alltså om du vill returnera klassen Data som tar en int i sin konstruktor så gör du såhär;

public Data initData(String textual_int)
{   
    Data result;
    if("ett".equals(textual_int))
         result = new Data(1);
    if("två".equals(textual_int))
         result = new Data(2);
    if("tre".equals(textual_int))
         result = new Data(3);

    return result;
}

Ahhh!!! Jag glömde new.

Nu funkar det! Lysande... tackar!

Lime skrev:

I java så är det alltid så att det är "pass by value" in i metoder och "return by reference".

Det hängde jag inte med på!

LimeMedlem sedan sep. 2001961 inlägg
#6

Re-JeeP skrev:

Vad menas med atomär?

Ahhh!!! Jag glömde new.

Nu funkar det! Lysande... tackar!

Det hängde jag inte med på!

När man pratar objektorienterade språk så pratar man ofta om atomärer eller primitiva typer, d.v.s. de inbyggda typerna som man inte använder new för att instansiera. Dessa är i java 8 till antalet:

- boolean
- byte
- char
- short
- int
- long
- float
- double

Alla klasser som finns i Java kan på ett eller annat sätt brytas ner i dessa primitiva typer. T.ex. så är klassen String inte en primitiv utan en klass som kapslar in hanteringen av char-arrayer så att man slipper tänka på hur man gör strängar.

Ta och läs en grundläggande Java-bok eller en tutorial på java.sun.com eller liknande. Det förklarar det mest basala.

Re-JeePMedlem sedan sep. 200642 inlägg
#7

Då är jag med...

Tack så mycket för hjälpen!

387 ms totalt · 3 externa anrop · v20260731065814-full.0e50b1ef
157 ms — hämta forumlista (db)
120 ms — hämta statistik (db)
264 ms — hämta tråd, inlägg och bilagor (db)