webForumDet fria alternativet

Enkla problem i Java!

8 svar · 693 visningar · startad av ahmedo

ahmedoMedlem sedan juli 20043 inlägg
#1

Hej!

Jag har två enkla frågor för alla som kan Java!

Fråga 1 : Hur omvänder man text med Java? "Utan funktionen reverse"
Dvs. om jag matar "hej" så skrivs den om till "jeh".

------------------------------------------------------------

Fråga 2 : Hur hoppar man över all text tills man hittar en radbyte "println()"??

Exempel:

Hej Hej Hej

Hej då

Skriver bara :

Hej då

Tack så mycket!!

nitro2k01Medlem sedan aug. 20039 342 inlägg
#2

Baklänges:

public class Rev{

    public static void main (String[]args){
        String orig="Hej på dig";
        char[]rev=orig.toCharArray();
        char tempchar;
        for(int i=0;i<rev.length/2;i++){
            tempchar=rev[i];
            rev[i]=rev[rev.length-1-i];
            rev[rev.length-1-i]=tempchar;
        }
        System.out.println(rev);
        // Alternativt: String revString = new String(rev);
    }
}

Det andra exemplet går att fixa med sk regular expressions, men då faller det väl lite utanför vad du anser som enkelt? Jag antar att du är ute efter att lära dig hur man gör saker?

ahmedoMedlem sedan juli 20043 inlägg
#3

Hej!

Tack för ditt snabba svar!
Jo, jag ska använda baklänges för en echo server som jag skickar text till och den svarar med texten baklänges...

den andra ska användas till en "webbrower" liknande som tar emot en fil och dess innehåll och sparar i HTML...
Problemet är att när jag får filen så skriver den några rader av skräp!!

sgtpepperMedlem sedan apr. 20007 588 inlägg
#4

nitro2k01 skrev:

Jag antar att du är ute efter att lära dig hur man gör saker?

Jag antar att han är ute efter att få någon att göra hans (rejält fantasilösa) skoluppgifter :e.

nitro2k01Medlem sedan aug. 20039 342 inlägg
#5

Min lösning på problem 1 är ren skolexemplet...
Min lösning på problem 2 kommer antingen göra läraren imponerad eller misstänksam... :)

    public static void main (String[]args){
        String orig="Hej på dig\nNy rad 1\nNy rad 2";

        System.out.println(orig.replaceAll(".*\\n",""));
    }
ahmedoMedlem sedan juli 20043 inlägg
#6

--

kobranturreMedlem sedan maj 2004693 inlägg
#7

Deu kan ju enklare reversa med en StringBuilder.

nitro2k01Medlem sedan aug. 20039 342 inlägg
#8

ahmedo skrev:

Tackar för det andra!
Saken är att jag har använt en lite avancerad version av HttpBrowsern och det gjorde att jag behöver använda mer "avancerade" metoder...
Vi använder för övrigt Java 1.4.2 då 1.5 anses som "opålitlig" :)

replaceAll funkar i 1.4.2, och även reverse, fast du får gå omvägen genom StringBuffer.

    public static void main (String[]args){
        String orig="Hej på dig!";
        StringBuffer revbuf=new StringBuffer(orig);
        revbuf.reverse();
        String rev=revbuf.toString();
        System.out.println(rev);
    }

Och därmed bör väl dina problem vara lösta?

LimeMedlem sedan sep. 2001961 inlägg
#9

Hurumf!!! Java 1.5 anses vara opålitligt... Pratar din lärare fortfarande latin också eftersom moderna språk är opålitliga.

Vågar slå mig i backen på att det handlar om att han inte vill lära sig framför allt generiska typer.

Vad är syftet med kursen förresten? Att lära er Java eller att lära er programmera? Om det är att lära er java förstår jag inte Reverseuppgiften och att ni inte får använda er av String.reverse... om det är en programmeringskurs så förstår jag uppgiften bättre.

129 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)