重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
简单地写了一个类,只有一个方法和一个主函数,实现了你要求的功能:
站在用户的角度思考问题,与客户深入沟通,找到金门网站设计与金门网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站建设、成都网站制作、企业官网、英文网站、手机端网站、网站推广、域名注册、网络空间、企业邮箱。业务覆盖金门地区。
其中countWords(List list,String substr)方法,是统计某个单词在句子中的次数的。
希望对你有所帮助。
代码如下:
package com.yss.string;
import java.util.ArrayList;
import java.util.List;
public class StringTest {
/**
* @param args
*/
public static void main(String[] args) {
StringTest st=new StringTest();
String str="how many inches are in 2 meters?";
String[] sstr=str.split(" ");
List list=new ArrayList();
for(int i=0;isstr.length;i++){
String strTemp=sstr[i];
if(strTemp.indexOf("?")-1){
strTemp=strTemp.substring(0,strTemp.indexOf("?"));
}
list.add(strTemp);
}
System.out.println(sstr.length);
System.out.println("words\toccurence");
System.out.println("are\t"+st.countWords(list, "are"));
System.out.println("how\t"+st.countWords(list, "how"));
System.out.println("in\t"+st.countWords(list, "in"));
System.out.println("inches\t"+st.countWords(list, "inches"));
System.out.println("many\t"+st.countWords(list, "many"));
System.out.println("meters\t"+st.countWords(list, "meters"));
}
public int countWords(List list,String substr){
int num=0;
for(int i=0;ilist.size();i++){
if(list.get(i)!=null){
String s=list.get(i).toString();
if(s.equals(substr)){
num++;
}
}
}
return num;
}
}
遍历字母串,统计各字母出现的个数,大于1的即为有重复的字母。写一个基本思路,需要重新组织成java代码。
int nums[26]; // 26个字母的个数记录数组,全部初始化为0
for(int i=0; i str.length; i++)
nums[(int)str.charAt(i)-65]++;
println("重复字母有: ");
for(int = 0; inums.length; i++)
if(nums[i] 1)
print((char)(nums[i]+65);
通过循环遍历字符串,然后一个个的比较,记下相同字符的个数就行了。代码如下:
import java.util.Scanner;
import java.util.TreeMap;
/**
* 从键盘输入16位长整数,编程统计每个数字出现的个数
* @author young
*
*/
public class CharMapDemo {
// 统计数字或者字符出现的次数
public static TreeMapCharacter, Integer Pross(String str) {
char[] charArray = str.toCharArray();
TreeMapCharacter, Integer tm = new TreeMapCharacter, Integer();
for (int x = 0; x charArray.length; x++) {
if (!tm.containsKey(charArray[x])) {
tm.put(charArray[x], 1);
} else {
int count = tm.get(charArray[x]) + 1;
tm.put(charArray[x], count);
}
}
return tm;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// System.out.println("请输入一个长整数:");
// int temp = sc.nextInt();
// String str = String.valueOf(temp);
// TreeMapCharacter, Integer tm = Pross(str);
// System.out.println(tm);
System.out.println("请输入一个字符串:");
String str = sc.nextLine();
TreeMapCharacter, Integer tm = Pross(str);
System.out.println(tm);
}
}
#include iostream #include string #include fstream using namespace std; int count=0; void countNum(int a[],int start,int finish) { //coutstart" \n"finish"\n"; int middle=(start+finish)/2; if(startfinish) return ; if(a[middle]==2) { count++; countNum(a,start,middle-1); countNum(a,middle+1,finish); //cout"get here"middleendl; }else if(a[middle]2) { countNum(a,start,middle-1); }else
{
countNum(a,middle+1,finish);
}
//return count; } int main() { int s[1000]; ifstream inf("1.txt"); int i=0;
while(!inf.eof())
{infs[i];i++;} //int s[]={1,2,2,2,3}; int start=0;//,finish=NUM-1; countNum(s,start,i-1); coutcountendl; }
扩展资料
#includeiterator
templatetypenamebiIter
voidinsertion_sort(biIterbegin,biIterend)
{
typedeftypenamestd::iterator_traitsbiIter::value_typevalue_type;
biIterbond=begin;
std::advance(bond,1);
for(;bond!=end;std::advance(bond,1)){
value_typekey=*bond;
biIterins=bond;
biIterpre=ins;
std::advance(pre,-1);
while(ins!=begin*prekey){
*ins=*pre;
std::advance(ins,-1);
std::advance(pre,-1);
}
*ins=key;
}
}
参考资料:百度百科 排序
思路:
先输入字符串与想要统计的字符,然后遍历字符串的每一个字符,进行统计。
代码:
import java.text.ParseException;
import java.util.Scanner;
class DemoAsm{
public static void main(String[] args) throws ParseException {
Scanner sc =new Scanner(System.in);
//输入字符串
String str=sc.nextLine();
//输入字符
String str1=sc.nextLine();
//遍历字符串
int sum=0;
for(int i=0;istr.length();i++){
if(str.substring(i, i+1).equals(str1)){
sum++;//统计
}
}
System.out.println(str1+"出现了"+sum+"次");
}
}
你可以用map 类型,思路大概是这样的,代码我就不写了。
把数组从第0个开始 保存在key,value里 作一个对比过程 其中key表示元素,存的过程作一个对比 如果相同则其相应的value值+1.最后输出key:value.