webForumDet fria alternativet

ett par frågor

Java

15 svar · 610 visningar · startad av justine

Medlem sedan maj 200167 inlägg
Frågan#1

jag vill gå igenom en sträng och byta ut alla blanksteg mot tex understreck. men det går inte att göra charAt(i)=(95)
och jag vet inte riktigt hur jag ska lösa det.
dessutom vill jag hämta datum och trodde det gick med getDay() men det fungerade inte heller. (jag har importerat java.util)

------------------
/ justine

Medlem sedan mars 20007 896 inlägg
#2

Använd funktionen nedan:

private String replace(String haystack, String from, String to) {
	if(haystack.indexOf(from) == -1)
		return haystack;

	StringBuffer stringBuffer = new StringBuffer();
	int start = haystack.indexOf(from);
	int copy = 0;

	while(start != -1) {
		stringBuffer.append(haystack.toCharArray(), copy, start - copy);
		stringBuffer.append(to);

		copy = start + from.length();
		start = haystack.indexOf(from, copy);
	}
	stringBuffer.append(haystack.toCharArray(), copy, haystack.toCharArray().length - copy);

	return stringBuffer.toString();
}

Enkelt att använda:
<font size="1" face="Verdana, Arial, Helvetica, sans-serif">Kod:<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666600">
String string = "Hej där din mås!";
String nystring = replace(string, "mås", "mes");
System.out.println(nystring);

------------------
SPiN, bjorne.w@telia.com

-- Man vinner inte silver, man förlorar guld --

Medlem sedan juni 20008 205 inlägg
#3

Något enklare:
<font size="1" face="Verdana, Arial, Helvetica, sans-serif">Kod:<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666600">
String foo = "En sträng med några blanksteg.";
String bar = foo.replace(' ', '_');

Ska man däremot ersätta substrängar (och inte bara tecken) så är förstås SPiN's variant bra.

------------------
You can be a coward for a few minutes, or dead forever. /Rincewind

Medlem sedan juni 200010 432 inlägg
#4

Använd funktionen nedan

Funktion? ;)

------------------
Ancilla, face mea laganum!

Medlem sedan maj 200167 inlägg
#5

Tack, jag visste väl att det borde finnas en enkel replace i java också.

hur är det då med datum? kan man inte få tag i det genom att skriva getDay()?
tydligen inte ifs eftersom det inte fungerade.

------------------
/ justine

Medlem sedan mars 20007 896 inlägg
#6

Funktion?

Ja, funktion. En funktion är något som returnerar något, medan en metod (som jag tror du menar) är void, dvs. inte returnerar något.

Eller vad var det du menade? :q

------------------
SPiN, bjorne.w@telia.com

-- Man vinner inte silver, man förlorar guld --

Medlem sedan nov. 200177 inlägg
#7

<font size="1" face="Verdana, Arial, Helvetica, sans-serif">Kod:<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666600">// Dessa behövs för datumhanteringen
import java.text.DateFormat;
import java.util.Calendar;
import java.util.Date;

// Kod som visar dagens datum
Calendar cal = Calendar.getInstance();
Date datum = cal.getTime();
DateFormat visa_datum_hur = DateFormat.getDateInstance();
Label datum_lbl = new Label(visa_datum_hur.format(datum));

Sen så kan man formatera det så att det ser ut som man vill. Denna kod visar datum så som är inställt på din dator.

Medlem sedan apr. 20007 588 inlägg
#8

Om du bara vill skriva ut dagens datum lite snyggt så är följande metod överlägsen:
<font size="1" face="Verdana, Arial, Helvetica, sans-serif">Kod:<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666600">
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("H:mm:ss");
System.out.println(sdf.format(new java.util.Date()));

Du anger hur datumet skall formateras genom att bygga upp ett "pattern" som du skickar in i SimpleDateFormat-konstruktorn, i fallet ovan så betyder "H:mm:ss" att dygnets timmar:minuter:sekunder skall visas.

De olika symbolerna hittar du här

------------------
det finns ingen.info tillgänglig.

"inside every human being there's an american trying to get out".

Medlem sedan sep. 20001 124 inlägg
#9

SPiN: Skillanden mellan funktioner och metoder är ännu enklare: metoder är de saker du kan genomföra på ett klassobjekt, funktioner är lösryckta saker som modifierar ungefär vad fan som helst. Det finns egentligen inga funktioner i Java, det närmsta är static-metoder i klasser.

------------------
Hollowhead - levererar din dagliga dos av nyttig hårdrock!

Medlem sedan mars 20007 896 inlägg
#10

Hmm okey. Då skyller jag på min gamla Java-lärare. :l

------------------
SPiN, bjorne.w@telia.com

-- Man vinner inte silver, man förlorar guld --

Medlem sedan juni 200010 432 inlägg
#11

Preschis!
;)

------------------
Ancilla, face mea laganum!

Medlem sedan juni 20008 205 inlägg
#12

En funktion är något som returnerar något, medan en metod (som jag tror du menar) är void, dvs. inte returnerar något.
I Java är det som sagt inte menfullt att tala om, och i C/C++ är det inte rätt, men i Pascal och äckel-VB är det i och för sig sant :) Länge leve "inkonsistens i språkbruket", som mina anglifierade föreläsare skulle säga.

------------------
You can be a coward for a few minutes, or dead forever. /Rincewind

Medlem sedan mars 20007 896 inlägg
#13

Som sagt; Gnäll på min gamla Java-lärare :e

spango> I C++ visste jag att det faktiskt bara fanns funktioner, så det så :p

------------------
SPiN, bjorne.w@telia.com

-- Man vinner inte silver, man förlorar guld --

Medlem sedan juni 200010 432 inlägg
#14

Min lärare i den javakurs på MDH jag nu går är enligt ryktena en renodlad c-programmerare från början, men inte blandar hon ihop begreppen inte...

*måste passa på att retas :p *

------------------
Ancilla, face mea laganum!

Medlem sedan mars 20007 896 inlägg
#15

Jag tar det som den man jag är :e

------------------
SPiN, bjorne.w@telia.com

-- Man vinner inte silver, man förlorar guld --

Medlem sedan juni 200010 432 inlägg
#16

;) :e

------------------
Ancilla, face mea laganum!

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