编写一个类,该类的功能是可以根据给定的字符串(字符串的内容可以是中文,也可以是英文,字符串中单词之间可以有空格,也没有空格)和子串,计算出字符串中包含多少个子串。(要求:使用String类的方法。) 程序可以使用下面的框架: import java.util.Scanner; class CountSubString { //【变量声明】 //方法实现 void countSubString(String s, String substring) //s代表整个字符串,substring代表子串 { //【代码】 } } public class CountString { public static void main(String args[]) { Scanner reader=new Scanner(System.in); System.out.println("请输入字符串:"); String s=reader.nextLine(); System.out.println("请输入你要检索的子串:"); String substring=reader.nextLine(); CountSubString a=new CountSubString(); a.countSubString(s, substring); } } 例如,可以输入字符串“I like apple. The apple is decilious. Do you like apple?”和子串“apple”,程序的运行结果应该是检索到3个apple。 再例如,可以输入字符串“Ilikeapple.Theappleisdecilious.Doyoulikeapple?”和子串“apple”,程序的运行结果应该是检索到3个apple。 再例如,可以输入字符串"我喜欢苹果。苹果很美味。你喜欢苹果吗?"和子串"苹果",程序的运行结果应该是检索到3个“苹果”。
第1题
如字符串"Hello World"中,大写字母的个数为2个。
注意:部分源程序已存在文件PROC5.CPP中。
请勿修改主函数和其他函数中的任何内容,仅在函数fun()的花括号中填写若干语句。
文件PROC5.cpp的内容如下:
//PROC5.cpp
include<iostream>
include<string>
using namespace std;
int fun(char *str);
int main()
{
char str[ ]="Chinese Computer World";
cout<<fun(str)<<end;
return 0;
}
int fun(char *str)
{
//**********
}
第2题
第3题
第4题
例如:当str1=“cdefghij”,然后输入4,则str2=“cdef”。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。
试题程序:
include<stdio.h>
include<conio.h>
define LEN 80
main()
{
char str1[LEN),str2[LEN);
int n,i;
clrscr();
printf(“Enter the string:\n”);
gets(str1);
printf“Enter the position of the string
deleted:”);
scanf(【 】);
for(i=0;i<n;i++)
【 】
str2[i]=‘\0’;
printf(“The new string is:%s\n”,【 】);
}
第5题
例如,输入beijing<CR>shanghai<CR>(<CR>为回车键),函数将返回shanghai。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
include<stdio.h>
char *fun(char *s, char *t)
{
}
main()
{
char a[20],b[10],*p,*q;
int i;
printf ("Input 1th string: ");
gets(a);
printf{"Input 2th string: ");
gets(b);
printf("%s",fun(a,b));
}
第6题
例如,若输入字符串“1234”,则函数把它转换为整数值1234。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。
试题程序:
第7题
例如,若输入字符串“-1234”,则函数把它转换为整数值 -1234。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
include <stdio.h>
include <string.h>
long fun(char *p)
{
}
main ( )
{
char s[6];
long n;
printf("Enter a string:\n");
gets(s);
n=fun(s);
printf("%ld\n",n);
}
第8题
#include<stdio.h>
void fun(char t[])
{
char c;
int i,j;
for(i=0;______;i++)/*第一空*/
for(j=i+1;j<=strlen(t);j++)
if(______)/*第二空*/
{
c=t[j];
t[j]=t[i];
t[i]=c;
}
}
main()
{
char s[81];
print f("Please enter a char acter string:\n");
gets(s);
print f("\n\nBefore sorting:\n%s",s);
______;/*第三空*/
print f("\nAfter sorting decreasingly:\n%s\n",s);
}
第9题
第10题
注意:不改动程序的结构,不得增行或删行。
程序运行结果如下:
import java.awt.*;
import java.applet.*;
import java.util.StringTokenizer;
public class ex27_3 extends Applet{
private TextField tf;
private Button btn;
public void init(){
tf = new TextField(25);
add(tf);
btn= new Button("分析");
add(btn);
resize(250, 200);
}
public void paint(Graphics g){
String str = tf.getText();
StringTokenizer st = new StringTokenizer(tf);
int n = 80;
while (!st.hasMoreTokens()){
String tem = st.nextToken();
g.drawString(tem, n, 80);
n += 20;
}
}
public boolean action(Event e, Object o){
if (o == "分析") {
repaint();
return true;
}
else
return false;
}
}
ex27_3.html
<HTML>
<HEAD>
<TITLE>ex27_3</TITLE>
</HEAD>
<BODY>
<applet code="ex27_3.class" width=800 height=400
</applet>
</BODY>
</HTML>
为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!