Klasa String - zadanie

0

Program ma wypisać te nazwiska ,które zaczynają się od liter A do K.Probowałem coś podobnego znaleŹć w internecie ,ale natrafilem tylko na podobne zadanie w Pascalu.Potrzebna mi jakaś wskazówka jak to zrobić.

import java.util.Scanner;

public class Nazwisko 
{
  String nazwisko=new String();

  public void Nazywanie(String[] tablica)
  {

    Scanner skaner =new Scanner(System.in);
    for(int i=0;i<5;i++)
    {
     nazwisko=skaner.nextLine();
     nazwisko=tablica[i];

    }
    
     //  if(nazwisko.length()>5)
    //  System.out.println("nazwisko "+nazwisko);
  }

  public static void main(String[] args)
  { 
    String[] tablica = new String[5];

    Nazwisko nazw=new Nazwisko();
    nazw.Nazywanie(tablica);

  }
  
  /* ADD YOUR CODE HERE */
  
}
0

Ogólnie to nie za bardzo rozumiem co teraz zrobiłeś.
Jeśli nie zrozumiałem popraw mnie.
Skoro masz te nazwiska w tablicy i chcesz pobrać pierwszą literę i sprawdzić czy jest ona którąś z liter od A do K to:
pobierasz pierwszą literę:
http://e-java.pl/kurs-java/czesc-3-podstawy/operacje-na-tekscie/
sprawdzasz czy jest ona jedną z porządanych:
(nie pamiętam jak się to szybciej robiło, pokazuję to co wymyśliłem na poczekaniu)

String pobrany_z_nazwiska_znak = nazwisko.charAt(0); //nie jestem pewien czy nie trzeba tego przekonwertować do String
String znaki = "abcdefghijk";
int liczba = 0;
while(znaki.charAt(liczba)){
if(pobrany_z_nazwiska_znak.equals(znaki.charAt(liczba))){
return true;
}
liczba++;
}

Mogą w tym kodzie być błędy, stosunkowo dawno nie siedziałem w javie.

0

Program sie kompiluje ale nie działa.Może jakies wskazowki?

/**
 * Auto Generated Java Class.
 * 
 * 
 * 
 * 
 * Program
wczytuje do tablicy 5 nazwisk i wypisuje te, które nie zaczynają się od liter od Ado K, aastępnie wszystkie dłuższe, niż 5-cio znakowe

 */
import java.util.Scanner;

public class Nazwisko 
{

char []Tabela = new char[] {'A', 'B', 'C', 'D', 'E', 'F','G','H','I','J','K'};
                                                          
  String nazwisko=new String();

  public void Nazywanie(String[] tablica)
  {
    
    int liczba=0;
    Scanner skaner =new Scanner(System.in);
    for(int i=0;i<5;i++)
    {
     nazwisko=skaner.nextLine();
     String pobrany=Character.toString(nazwisko.charAt(0));
     nazwisko=tablica[i];
    
     if(pobrany.equals(Tabela[liczba]))
     {
       
        System.out.println("nazwisko "+tablica[i]);
     }
     liczba++;

    }
  }

   //   // if(nazwisko.length()>5)
   //  System.out.println("nazwisko "+nazwisko);

  public static void main(String[] args)
  { 
    String[] tablica = new String[5];

    Nazwisko nazw=new Nazwisko();
    nazw.Nazywanie(tablica);

  }
  
  /* ADD YOUR CODE HERE */
  
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1