Hoe kom ik aan het laatste teken van een tekenreeks?

Hoe kom ik aan het laatste teken van een tekenreeks?

public class Main {
    public static void main(String[] args)  {
        String s = "test string";
        //char lastChar = ???
    }   
}

Antwoord 1, autoriteit 100%

De code:

public class Test {
    public static void main(String args[]) {
        String string = args[0];
        System.out.println("last character: " +
                           string.substring(string.length() - 1)); 
    }
}

De uitvoer van java Test abcdef:

last character: f

Antwoord 2, autoriteit 38%

Hier is een methode die String.charAt()gebruikt:

String str = "India";
System.out.println("last char = " + str.charAt(str.length() - 1));

De resulterende uitvoer is last char = a.


Antwoord 3, autoriteit 19%

De andere antwoorden zijn erg compleet, en je moet ze zeker gebruiken als je het laatste teken van een string probeert te vinden. Maar als u alleen een voorwaardelijke probeert te gebruiken (bijv. is het laatste teken ‘g’), kunt u ook het volgende doen:

if (str.endsWith("g")) {

of, tekenreeksen

if (str.endsWith("bar")) {

Antwoord 4, autoriteit 13%

De andere antwoorden bevatten veel onnodige tekst en code. Hier zijn twee manieren om het laatste teken van een tekenreeks te krijgen:

char

char lastChar = myString.charAt(myString.length() - 1);

String

String lastChar = myString.substring(myString.length() - 1);

Antwoord 5, autoriteit 2%

Probeer dit:

if (s.charAt(0) == s.charAt(s.length() - 1))

Antwoord 6

Eenvoudige oplossing is:

public String frontBack(String str) {
  if (str == null || str.length() == 0) {
    return str;
  }
  char[] cs = str.toCharArray();
  char first = cs[0];
  cs[0] = cs[cs.length -1];
  cs[cs.length -1] = first;
  return new String(cs);
}

Een tekenreeks gebruiken (pas op voor het vervelende lege String- of null String-argument!)

Een andere oplossing maakt gebruik van StringBuilder (die meestal wordt gebruikt om String-manipulatie uit te voeren, aangezien String zelf onveranderlijk is.

public String frontBack(String str) {
  if (str == null || str.length() == 0) {
    return str;
  }
  StringBuilder sb = new StringBuilder(str);  
  char first = sb.charAt(0);
  sb.setCharAt(0, sb.charAt(sb.length()-1));
  sb.setCharAt(sb.length()-1, first);
  return sb.toString();
}

Nog een andere benadering (meer voor instructie dan voor daadwerkelijk gebruik) is deze:

public String frontBack(String str) {
  if (str == null || str.length() < 2) {
    return str;
  }
  StringBuilder sb = new StringBuilder(str);
  String sub = sb.substring(1, sb.length() -1);
  return sb.reverse().replace(1, sb.length() -1, sub).toString();
}

Hier wordt de volledige string omgedraaid en dan wordt het deel dat niet omgekeerd mag worden vervangen door de substring. 😉


Antwoord 7

public String lastChars(String a) {
if(a.length()>=1{
String str1 =a.substring(b.length()-1);
}
return str1;
}

Antwoord 8

public char LastChar(String a){
    return a.charAt(a.length() - 1);
}

Antwoord 9

String aString = "This will return the letter t";
System.out.println(aString.charAt(aString.length() - 1));

Uitvoer moet zijn:

t

Veel plezier met coderen!


Antwoord 10

Hier is een methode die ik gebruik om de laatste xx van een string te krijgen:

public static String takeLast(String value, int count) {
    if (value == null || value.trim().length() == 0) return "";
    if (count < 1) return "";
    if (value.length() > count) {
        return value.substring(value.length() - count);
    } else {
        return value;
    }
}

Gebruik het dan als volgt:

String testStr = "this is a test string";
String last1 = takeLast(testStr, 1); //Output: g
String last4 = takeLast(testStr, 4); //Output: ring

Antwoord 11

public char lastChar(String s) {
     if (s == "" || s == null)
        return ' ';
    char lc = s.charAt(s.length() - 1);
    return lc;
}

Other episodes