1 Någon som har bra tips på hur man kan kolla om ett inläst värde är ett tal. Om man till exempel har koden:
String str = JOptionPane.showInputDialog("Skriv in ett tal:");
try{
int tal = Integer.parseInt(str);
} catch (NumberFormatException e){
....
....
}
Problemet är att är det inget tal man skriver in så stannar programmet. Hur kan jag gardera mig mot detta på ett smart sätt?
2 Har ännu en fråga: Någon som skulle kunna visa hur man byter en viss angiven text i en sträng mot en annan text. Man bör kolla att texten verkligen finns med och det spelar ingen roll hur lång den andra strängen är. Har fått tips om StringBuffer(), men får inte till det.
Svar på fråga 1: Då måste du visa mer kod, för som du har gjort det ska det fungera. Du fångar ett exception eftersom du inte vill att programmet ska avbrytas. Här är ett exempel på hur du kan göra,
import javax.swing.*;
public class Test2
{
public static void main(String argv[])
{
int tal=-1;
do
{
String str = JOptionPane.showInputDialog("Skriv in ett tal:");
try
{
if(str==null)
tal=0;
else
tal = Integer.parseInt(str);
}
catch(NumberFormatException e)
{
e.printStackTrace(System.err);
}
}
while(tal==-1);
System.exit(0);
}
}
Programet avslutas först när du har tryckt på Avbryt eller skrivit in ett tal.
Svar på fråga 2: Använd replaceAll funktionen som finns i String,
String s="Detta var ett bra svart tycker jag att det var bra!";
s=s.replaceAll("bra","DÅLIGT!");
//webForum.reply.Viktor(s);
Tack...nu har jag förstått exceptions bättre! Det var inget problem längre. Och till fråga två (som fungerar utmärkt) finns det något smidigt sätt att till exempel ersätta en text oberoende av små eller stora bokstäver, med en annan text?
Om du vill skilja på stora och små bokstäver så tror jag att du måste köra med regular expression. Du använder samma funktion men skickar med ett regexp som första argument istället för en vanlig sträng.
"Om du vill skilja på stora och små bokstäver så tror jag att du måste köra med regular expression"
Nu är jag inte riktigt med...s=s.replaceAll("bra","DÅLIGT!") tycks fungera så att det inte går att byta ut alla ord som är 'Bra','BRA' och liknande, dvs replaceAll verkar casesensitive. Hur menar du med att man kör med .regular expression'?
Du använder det för att söka, ersätta, manipulera textsträngar med hjälp av kontroll tecken som betyder olika saker. Gör en sökning på Google så hittar du massor av information. Det är svårt men om man kan det så blir livet lite lättare.
/Viktor
260 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2