26. januar 2005 - 21:31
Der er
15 kommentarer og
1 løsning
Statiske metoder
Hej
Jeg sidder med en opgave, hvor jeg skal som skal lave en metode, som retunerer et antal af sætninger...
Hvor i punktum indikerer, hvornår en sætning er slut
f.eks.
final String boks="Hej med dig. Jeg kan godt lide java "
jeg er meget usikker på, hvordan jeg skal gribe dette on. Jeg tror jeg skal tage udgangspunkt i klassen String. Har kigget lidt på metoderne, men kan ikke finde den rigtige
26. januar 2005 - 21:33
#1
En for løkke som løber strengen igennem og tæller antallet af punktummer ?
26. januar 2005 - 21:34
#2
Du skal kigge på StringTokenizer klassen og ikke string klassen
26. januar 2005 - 21:36
#3
public class Paragraphs {
public static int count(String s) {
int res = 0;
for(int i = 0; i < s.length(); i++) {
if(s.charAt(i) == '.') {
res++;
}
}
return res;
}
public static void main(String[] args) {
System.out.println(count("Hej med dig. Jeg kan godt lide java."));
}
}
må være letforståeligt
26. januar 2005 - 21:37
#4
mit eksempel
package mypackage1;
import java.util.StringTokenizer;
public class Main
{
public Main()
{
String test = "hejsa jeg hedder. hest med boller i karry";
String udskrift="";
StringTokenizer mintekst = new StringTokenizer(test, ".");
while(mintekst.hasMoreTokens())
{
udskrift += mintekst.nextToken()+"\n";
}
System.out.println(udskrift);
}
public static void main(String[] args)
{
Main main = new Main();
}
}
26. januar 2005 - 21:37
#5
HMM, vis sætningerne skal retuneres i en given tegnstreng...
26. januar 2005 - 21:37
#6
Du kan også bruge StringTokenizer eller bare String split.
Og de giver betydeligt mindre kode.
Men måske også lidt mere kryptisk kode.
26. januar 2005 - 21:41
#7
Eksempel:
public class Paragraphs2 {
public static int count(String s) {
return s.split("\\.").length;
}
public static void main(String[] args) {
System.out.println(count("Hej med dig. Jeg kan godt lide java."));
}
}
26. januar 2005 - 22:05
#8
Kommentar: missmalik
26/01-2005 21:37:25
tænker du på at koden skal være i en metode og sendes retur formatteret? for så er det ikke de vildt store ændringer der skal foretages:)
26. januar 2005 - 22:19
#9
hey takker..
arne kan du lige lægge et svar, så jeg kan lukke spørgsmålet
26. januar 2005 - 22:20
#10
jo da
26. januar 2005 - 22:51
#11
vent lige lidt
public class Tekstboks
{
public static void main (String[] args)
{
final String boks ="hej med dig. Jeg hedder Kaj";
}
public static int count(String boks)
{
int antal = 0;
for(int i = 0; i < boks.length(); i++) {
if(boks.charAt(i) == '.') {
antal++;
}
}
return antal;
}
}
Når jeg laver den sådan, overfører den ikke tekstboksen, men jeg skal taste den
26. januar 2005 - 22:54
#12
Det der er jo en console app.
Hvis du har en GUI app så smider du
public static int count(String boks)
{
int antal = 0;
for(int i = 0; i < boks.length(); i++) {
if(boks.charAt(i) == '.') {
antal++;
}
}
return antal;
}
metoden ind i din klasse og så laver du noget ligesom:
dintextboxmedantal.setText("" + count(dintextboxmedord.getText()));
26. januar 2005 - 23:00
#13
øøhhh, det hjælp ikke meget
27. januar 2005 - 00:18
#14
jeg aner ikke hvordan man lukker spørgsmål
27. januar 2005 - 00:22
#15
Du skal nede i omkring venstre hjørne kunne se en lille boks men arne's navn i.. marker det og tryk på knappen accepter så er det klaret:) du skal gøre præcis det samme med dine tidligere spørgsmål.. sig til hvis det stadig ikke giver mening
27. januar 2005 - 10:38
#16
Et komplet GUI eksempel:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class ParagraphCount extends JFrame implements ActionListener {
private JTextArea txt;
private JLabel lbl;
private JButton btn;
public ParagraphCount() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
getContentPane().setLayout(new BorderLayout());
txt = new JTextArea();
getContentPane().add(txt, BorderLayout.CENTER);
lbl = new JLabel("0");
getContentPane().add(lbl, BorderLayout.NORTH);
btn = new JButton("Count");
btn.addActionListener(this);
getContentPane().add(btn, BorderLayout.SOUTH);
pack();
}
public static int count(String boks) {
int antal = 0;
for (int i = 0; i < boks.length(); i++) {
if (boks.charAt(i) == '.') {
antal++;
}
}
return antal;
}
public void actionPerformed(ActionEvent e) {
lbl.setText("" + count(txt.getText()));
}
public static void main(String[] args) {
ParagraphCount f = new ParagraphCount();
f.setVisible(true);
}
}
Kurser inden for grundlæggende programmering