webForumDet fria alternativet

Reg exp i java

Java

6 svar · 367 visningar · startad av Re-JeeP

Medlem sedan sep. 200642 inlägg
Frågan#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!
}

Medlem 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??

Medlem 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.

Medlem 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".

Medlem 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å!

Medlem 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.

Medlem sedan sep. 200642 inlägg
#7

Då är jag med...

Tack så mycket för hjälpen!

260 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)