簡體   English   中英

我如何創建一個程序來過濾字符串中的小寫和大寫字母?

[英]how do i create a program to filter out lower case and upper case letters from a string?

我想編寫一個代碼來分別過濾小寫和大寫字母,並且必須顯示每種字符的數量。請幫助

提示 :遍歷String ,可以檢查字母是否為小寫大寫,如下所示:

Character.isUpperCase(str.charAt(i));  //returns true if char is upper case

Character.isLowerCase(str.charAt(i)); //returns true if char is lower case

其中str是您的字符串,而i是用於遍歷字符串的變量。 希望這可以幫助。

好吧,我對Java沒有太多的了解,但是我可以用C ++給出解決方案。 也許它可以幫助您用Java實現

#include <stdio.h>
#include <string>
#include <iostream>
#include <vector>
using namespace std;
int main()
{
  std::string s1;
  std::vector< pair<char,int> > uppercase;
  std::vector< pair<char,int> > lowercase;
  std::vector< pair<char,int> >::iterator it;
  getline(cin,s1);
  int arr[255]={0};

  for(int i=0;i<s1.size();i++)
  {
        arr[s1[i]]++;
  }

  for(int i=0;i<s1.size();i++)
  {
        if(int(s1[i])<97)
        {
              uppercase.push_back(make_pair(s1[i],arr[s1[i]]));
        }
        else
        {
               lowercase.push_back(make_pair(s1[i],arr[s1[i]]));
        }
  }

  cout<<"\n\n";

  for(it=uppercase.begin();it!=uppercase.end();it++)
  {
        cout<<it->first<<" "<<it->second<<"\n";
  }
  for(it=lowercase.begin();it!=lowercase.end();it++)
  {
        cout<<it->first<<" "<<it->second<<"\n";
  }
  return 0;
}

您可以進一步改善它。

該代碼將起作用,但我想我剛剛完成了您的作業

int i;
String str = "Hello Stackoverflow! WaZZuP";
String lower = "";
String upper = "";
String other = "";

for (i = 0; i < str.length(); i++){
    if (Character.isUpperCase(str.charAt(i))){
        upper += str.charAt(i);
    }else if (Character.isLowerCase(str.charAt(i))){
        lower += str.charAt(i);
    }else{
        other += str.charAt(i);
    }
}

System.out.println("In the String '" + str + "' there are " + upper.length() + " Upper Case, " + lower.length() + " Lower Case and " + other.length() + " Other Characters");
System.out.println("Upper Chars are: '" + upper + "'");
System.out.println("Lower Chars are: '" + lower + "'");
System.out.println("Other Chars are: '" + other + "'");
public class Test1 {

    public static void main(String[] args) {
        String s = "My name is Biraj.";
        String up = "";
        String down = "";
        for(int i=0;i<s.length();i++) {
            if(Character.isUpperCase(s.charAt(i))) {
                up = up+s.charAt(i);
            } else {
                down = down+s.charAt(i);
            }
        }
        System.out.println(up);
        System.out.println(down);
    }

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM