Beste,
Heeft iemand op dit forum misschien verstand van JAVA?
Ik zit nu echt vast bij een schoolopdracht die ik over twee dagen moet inleveren. De meeste vragen zijn mij gelukt maar 2 kleine vraagjes lukken mij niet en ik ben nog heel slecht in Java.
Eerste vraag:
Voorbeeld van resultaat:In deze opdracht moet je de karakters van een string roteren naar links. Je moet dus ieder karakter
cyclisch over één positie naar links opschuiven. Het meest linkse karakter "valt er aan de linkerkant uit, en
schuift er aan de rechterkant weer in". Programmeer dit en lees in je programma de string in van
toetsenbord.
a. string "oliebol" wordt na roteren één positie naar links: "liebolo"
b. string "oliebol" en n = 3 levert op bij roteren naar links: "ebololi"
c. string "oliebol" en n = 3 levert op bij roteren naar rechts: "bololie"
Tweede vraag:
Voorbeeld van resultaat:In deze opdracht moet een tijd in uren en minuten (maar geen seconden) worden omgezet naar spreektaal
11:15 kwart over elf
17:30 half zes
19:45 kwart voor acht
23:45 kwart voor twaalf
Als iemand mij hiermee kan helpen dan zou ik dat heel erg waarderen! Alvast bedankt.
Groetjes,
Jason Koolman
- [JAVA] Simpele schoolopdracht
-
06-11-2012, 12:22 #1
- Berichten
- 82
- Lid sinds
- 16 Jaar
[JAVA] Simpele schoolopdracht
-
In de schijnwerper
Linkbuilding uitbesteden - 25 jaar ervaring - Zie behaalde resultatenAdvertentieruimteAanbieding24.nl - Aanbieding en vergelijk websiteWebsite te koopProfessionele tekstschrijver (actie: 2,5 cent per woord)Freelance / WerkSenior Designster - top kwaliteit - 16 uur per week - per maand - 350 euroFreelance / Werk -
06-11-2012, 18:58 #2
- Berichten
- 69
- Lid sinds
- 18 Jaar
Re: [JAVA] Simpele schoolopdracht
Voor die tweede maak je gewoon twee String array's:
In je main-klasse doe je:
PHP Code:Klasnaam variabele = new Klasnaam(11, 15);
PHP Code:class Klasnaam
{
private String[] uren;
private String[] minuten;
public Klasnaam(int hours, int mins)
{
uren = new String[24]; // voor 24-uurs telling
minuten = new String[60];
uren[0] = "twaalf";
uren[1] = "een";
uren[..] = "..";
uren[23] = "elf";
minuten[0] = "uur";
minuten[1] = "een over";
minuten[..] = "..";
minuten[20] = "tien voor half";
minuten[..] = "..";
minuten[50] = "tien voor";
minuten[..] = "..";
minuten[59] = "een voor";
if(hours < 24 && mins < 60)
{
if(mins == 0)
{
System.out.println("Het is: "+uren[hours]+" "+minuten[mins]);
}
else
{
System.out.println("Het is: "+minuten[mins]+" "+uren[hours]);
}
}
}
}
Laatst aangepast door Tim Colla : 06-11-2012 om 19:13
-
07-11-2012, 13:05 #3
- Berichten
- 82
- Lid sinds
- 16 Jaar
Re: [JAVA] Simpele schoolopdracht
Bedankt voor het antwoord! De rest zoek ik zelf wel uit hoe ik dat script kleiner ga schrijven.
Nu is de eerste vraag die ik stelde in het topic mij zelf al gelukt:
PHP Code:public class Main
{
public static void main(String[] args)
{
//INVOER
String s = "HELLO";
int shift = 1;
//UITKOMST
String solution = s.substring(shift)+s.substring(0,shift);
System.out.println(solution);
}
}
Daarnaast heb ik ook een zogenaamde frequentietabel geschreven. Dit script tel alle woorden die voorkomen in de zin:
FrequentieTabel.java
PHP Code:import java.util.*;
public class FrequentieTabel
{
private String[] delen;
private String huidig;
private int[] teller;
private int totaal;
public void telWoorden(String text)
{
// VERVANG ALLE LEESTEKENS EN DEEL DE STRING IN EEN ARRAY
delen = text.replaceAll("[.,?!:;/]", "").split(" ");
// VARIABELE AANMAKEN VOOR ELK WOORD TELLEN
teller = new int[delen.length];
// DE WOORDEN IN DE ZIN DOORLOPEN
for(int i = 0; i < delen.length; i++)
{
// HUIDIGE WOORD IN DE ZIN OPSLAAN
huidig = delen[i];
// HUIDIG WOORD VERGELIJKEN MET DIE IN DE ZIN
// TELLER DE WOORDEN OP LATEN TELLEN
for (int i2 = 0; i2 < delen.length; i2++)
{
if(huidig.equalsIgnoreCase(delen[i2]))
{
teller[i2]++;
totaal = teller[i2];
}
}
System.out.println(totaal + " x " + huidig);
}
}
}
PHP Code:public class Main
{
public static void main(String[] args)
{
String zin = "In deze test test ik het script";
FrequentieTabel ft = new FrequentieTabel();
ft.telWoorden(zin);
}
}
1 x In
1x deze
1x test
2x test
1x ik
1x het
1x script
1 x In
1x deze
2x test
1x ik
1x het
1x script
Alvast bedankt!
-
07-11-2012, 13:16 #4
- Berichten
- 571
- Lid sinds
- 17 Jaar
Re: [JAVA] Simpele schoolopdracht
Eerste opdracht:
PHP Code:public class Roteer {
public static void main(String args[]) {
System.out.println(roteer("test123", 3));
}
public static String roteer(String str) {
char[] chars = str.toCharArray();
char temp = chars[0];
for(int i=0; i<chars.length; i++)
chars[i] = i == chars.length - 1 ? temp : chars[i + 1];
return String.copyValueOf(chars);
}
public static String roteer(String str, int n) {
for(int i=0; i<n; i++)
str = roteer(str);
return str;
}
}
-
07-11-2012, 13:33 #5
- Berichten
- 69
- Lid sinds
- 18 Jaar
Re: [JAVA] Simpele schoolopdracht
Als je van:
PHP Code:teller[i2]++;
totaal = teller[i2];
PHP Code:teller[i]++;
totaal = teller[i];
1 x In
1x deze
2x test
2x test
1x ik
1x het
1x script
-
07-11-2012, 14:10 #6
- Berichten
- 82
- Lid sinds
- 16 Jaar
Re: [JAVA] Simpele schoolopdracht
@Tim Colla
Is het ook mogelijk om alleen 1x '2 x test' te laten zien? Dat is eigenlijk de opdracht
@Rene Vinnik
Hoe kan ik dan de letters naar rechts laten roteren?
PHP Code:System.out.println(roteer("test123", -2));
Alvast bedankt!
-
07-11-2012, 14:18 #7
- Berichten
- 69
- Lid sinds
- 18 Jaar
Re: [JAVA] Simpele schoolopdracht
Van dit:
PHP Code:for (int i2 = 0; i2 < delen.length; i2++)
{
if(huidig.equalsIgnoreCase(delen[i2]))
{
teller[i]++;
totaal = teller[i];
}
}
System.out.println(totaal + " x " + huidig);
PHP Code:for (int i2 = 0; i2 < delen.length; i2++)
{
if(huidig.equalsIgnoreCase(delen[i2]))
{
teller[i]++;
totaal = teller[i];
delen[i2] = "";
}
}
if(!huidig.equalsIgnoreCase(""))
System.out.println(totaal + " x " + huidig);
-
07-11-2012, 18:40 #8
- Berichten
- 82
- Lid sinds
- 16 Jaar
Re: [JAVA] Simpele schoolopdracht
Bedankt voor de reactie. Weet je misschien ook een oplossing om negatieve integers in te kunnen voeren bij mijn eerste vraag (de tekst naar rechts te laten roteren)
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic