用java找出两个字符串中的相同的字符??

作者&投稿:郸姚 (若有异议请与网页底部的电邮联系)
JAVA 编程 找出两个字符串中所有共同的字符~

import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.Set;

/**
* 找出两个字符串中所有共同的字符
*/
public class ExistChars {
public static void main(String[] args){
String s1 = "accddaolaf";
String s2 = "bdefmcgambbbbb";
int m = s1.length();
int n = s2.length();
Set st = new LinkedHashSet();
for(int i=0; i<m; i++){
char c1 = s1.charAt(i);
for(int j=0; j<n; j++){
char c2 = s2.charAt(j);
if(c2 == c1){
st.add(c1);
break;
}
}
}

Iterator it = st.iterator();
while(it.hasNext()){
System.out.print(it.next());
}
}
}

题。你可以在网上下更全套的试题练习。

全国2008年10月考试Java 语言程序设计(一)试题
课程代码:04747
一、单项选择题(本大题共10小题,每小题1分,共10分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。
1.下述字符组合不能作为Java程序标识符的是( )
A.Aa12 B.大x
C.y小 D.5x
2.以下程序代码的输出的结果是( )
int x=53;
System. out. println(1.0+x/2);
A.27.0 B.27.5
C.1.026 D.1.026.5
3.参照以下Java代码,以下四个叙述中最确切的是( )
class A{
int x; static int y;
void fac(String s)
}
A.x、y和s都是成员变量
B.x是实例变量、y是类变量、s是局部变量
C.x和y是实例变量、s是参数
D.x、y和s都是实例变量
4.需要分析字符串,并将字符串分解成可被独立使用的单词,可使用java. util包中的类是
( )
A.String B.StringBuffer
C.StringTokenizer D.stringTokenizer
5.要为程序的子窗口设定一个由字符串s指定的名字,可以采用的代码是( )
A.JFrame(s) B.window(s)
C.new JFrame(s) D.super(s)
6.以下关于菜单的叙述中,正确的是( )
A.菜单分三级定义,最高一级的是菜单条,菜单条中放菜单,菜单中放菜单项
B.菜单分三级定义,最高一级的是菜单,菜单中放菜单条,菜单条中放菜单项
C.菜单分两级定义,最高一级的是菜单,菜单中放菜单项
D.菜单分两级定义,最高一级的是菜单条,菜单条中放菜单项
7.以下所述内容全部是字型要素的是( )
A.字体、字形和大小 B.字体、风格和字号
C.字形、风格和字号 D.字形、颜色和字号
8.用Thread子类实现多线程的步骤顺序是( )
A.声明Thread类的子类,创建Thread子类的实例,让线程调用start()方法
B.声明Thread类的子类,在子类中重新定义run()方法,创建Thread子类的实例
C.创建Thread子类的实例,让线程调用start()方法
D.声明Thread类的子类,在子类中重新定义run()方法,创建Thread子类的实例,让线程调用start()方法
9.为16位Unicode字符流提供读和写操作支持的类分别是( )
A.FileInputStream类和FileOutputStream类
B.InputStream类和OutputStream类
C.FileReader类和FileWriter类
D.File_Reader类和File_Writer类
10.能利用对象提供的方法获得流对象和实现网络连接的是( )
A.URLConnection对象 B.URL对象
C.InetAddress对象 D.TCP/IP对象
二、填空题(本大题共10小题,每小题2分,共20分)
请在每小题的空格中填上正确答案。错填、不填均无分。
11.一个小应用程序必须定义成一个_________。
12.用条件运算符构造一个表达式:goal等于10时,表达式的值为“对了!”,否则,表达式的值为“错了!”。这个表达式是_________。
13.类是对一组相同对象的描述,类概括了同类对象的共有性质:_________。
14.设有数组a和b的定义如下:
int[]a=;int[]b=
……
执行以下代码“a=b;”,除了完成赋值操作之外,引起系统额外要做的工作是_________。
15. _________布局使容器的多个组件拥有同一个显示空间,某一时刻只能显示一个组件。
16.Java语言为处理鼠标事件提供两个接口:_________接口和MouseMotionListener接口。
17.某个绘图方法设置成“异或模式”绘图,并用黄色作为异或模式设定的绘图颜色。如果当时背景色为红色,并用红色绘制线段,则线段的实际颜色是_________。
18.程序员用Java语言编写多线程应用程序,程序员能控制的关键性工作有两个方面:一是编写线程的_________方法;二是建立线程实例。
19.BufferedWriter类是提供缓冲式输出的类。程序需要先创建_________对象,再利用这个对象创建BufferedWriter对象。
20.在Java语言中,客户端使用的套接字类是_________。
三、简答题(本大题共6小题,每小题3分,共18分)
21.请写出表示条件“x=2与y=3有且只有一个成立”的Java表达式”。
22.如果类Student是类Person的子类,类Undergraduate是类Student的子类,请指出以下代码行中哪些是不合法的。
Person p1=new Student();
Person p2=new Undergraduate();
Student s1=new Person();
Student s2=new Undergraduate();
Undergraduate ug1=new Person();
Undergraduate ug2=new Student();
Object ob=new Student();
23.请写出程序处理文本框输入结束事件(回车)添加监视器的方法,以及监视器类必须实现的接口方法。
24.请写出一条语句,能够绘制一条从点(20,30)开始,长为100像素的水平线段。设调用的对象是类型为Graphics的g。
25.某Java程序要使用文件输入输出流,请写出该程序所需要的import语句。
26.JDBC是Java程序与数据库连接的API,请写出JDBC能做的三件事情。
四、程序填空题(本大题共5小题,每空2分,共20分)
27.方法int maxDigit(int n)的功能是找出十进制整数n各位中最大的一位数字。例如,n=23765,该方法的返回值是7。
static int maxDigit(int n){
int c=0,d;
while(n>0){
d=_______;
if(d>c) c=d;
n/=10;
}
________;
}
28.某程序的界面包含一个文本区text1、一个文本框text2和一个按钮button。实现在文本区中输入整数序列后,点击按钮,程序响应按钮事件,累计文本区输入的整数序列,并将总和输出在文本框中。这里给出的是其中相应按钮事件的方法。
public void actionPerformed(ActionEvent e){
int sum;
if(e.getSource()==button){
String s=text1.________;//获取text1中的信息
StringTokenizer fenxi=new StringTokenizer(s,”,,,
”);
int n=fenxi.countTokens();
double a[]=new double[n];
for(int i=0;i<n;i++){
String temp=fenxi.nextToken();
a[i]=Double.valueOf(temp).doubleValue();
}
sum=0;
for(int i=0;i<n;i++){
__________;
}
text2.setText(””+sum);//刷新显示。
}
}
29.以下是生成菜单项对象,以及菜单项选择事件处理方法的部分代码。要求当菜单项singingItem被选中时,在文本框text中输出“唱歌菜单项被选中!”的字样。
……
singingItem=new________(”唱歌”);//生成菜单项对象
……
public void actionPerformed(ActionEvent e){
if(e.getSource()==singingItem)
text.setText(e.________()+ ”菜单项被选中!”);
}
30.某小应用程序实现幻灯片放映。小应用程序的init()方法将幻灯片读入数组中存储和注册鼠标监视器。程序运行时,单击鼠标,就顺序变换放映幻灯片的序号。这里给出的是其中的paint()方法和mousePressed()方法。
final int number=30;//假定幻灯片有30张
int count=0;
Image[]pic=new Image[number];
public void paint(______gc){
if((pic[count])!=null)
gc.drawImage(pic[count],10,10,pic[count].getWidth(this),
pic[count].getHeight(this),this);
}
public void mousePressed(MouseEvent e){
count=(count+1)% number;//循环逐张显示
__________;
}
31.以下定义的类shareDataManager用于管理多个线程共享数据data。一些线程要减少data,另一些线程要增加data。由于data不可以是负值,修改data的方法对这些线程来说不仅要互斥,还要同步。类提供一个方法modiData()供修改data的线程调用,该方法在data修改结束后,应通知其它等待进入这个方法的线程。
class ShareDataManager{
int data=0;
________void modiData(int delta){
if(delta>=0){
data+=delta;
}else {
while(data <delta){
try{System.out.println(”发生等待!”);
wait();
}catch(InterruptedException e)
}
data-=delta;
}
_________;
}
ShareDataManager(int ititData)
}
五、程序分析题(本大题共5小题,每小题4分,共20分)
32.阅读下列程序,请写出该程序的输出结果。
import java.applet.*;import java.awt.*;
class Point{
int x,y;
Point(int xx,int yy)
Point(Point p)
void m(int dx,int dy)
}
class Circle extends Point{
int r;
Circle(Point p, int rr)
float c()
float a()
}
public class sample extends Applet{
Circle yuan; Point d;
public void init()
public void paint(Graphics g){
g.drawString(”yuan Circle”+(int)(yuan.c()*100.0)/100.0,5,20);
g.drawString(”yuan Area”+(int)(yuan.a()*100.0)/100.0,5,40);
}
}
33.阅读下列程序,请写出该程序的功能。
import java. util.*;
public class Class1{
public static void main(Srting args[]){
Date date1=new Date();
System. out. println (datel);
String t=datel.toString();
int endPos=t.indexOf(‘C’);
t=t.substring(11,endPos);
System. out println(t);
}
}
34.阅读下列程序,请写出该程序的功能。
import java.applet.*;import javax.swing.*;import java.awt.event.*;
public class Class l extends Applet implements ActionListener{
JTextField text1,text2;
public void init(){
text1=new JTextField(10); text2=new JTextField(10);
setSize(200,100); add(text1); add(text2);
text1.addActionListener(this);
}
public void actionPerformed(Action Event e){
long n;
if(e.getSource()==text1){
n=Long.parseLong(text1.getText());
text2.setText(String.valueOf(n*n));
}
}
}
35.阅读以下程序,请写出该程序的功能。
import javax.swing.*; import java.awt.*;import java.awt.event.*;
class MyScrollBar extends JscrollBar{
public MyScrollBar(int init, int len, int low, int high){
super(JScrollBar. HORIZONTAL, init,len,low,high);
}
}
class MyWindow extends JFrame implements AdjustmentListener{
private JTextField text;
MyWindow(String s){
super(s);
MyScrollBar myBar=new MyScrollBar(10,10,0,255);
Container con=this. getContentPane();
con. setLayout(new GridLayout(2,1));
this. setSize(200,100);
this. setLocation(100,100);
myBar.addAdjustmentListener(this);
text=new JTextField(””,20);
con. add(text);con.add(myBar);
this.setVisible(true);
}
public void adjustmentValueChanged(AdjustmentEvent e){
MyScrollBar myBar=(MyScrollBar)e.getAdjustable();
text.setText(””+myBar.getValue());
}
}
public class Class1{
public static void main(String[]args){
MyWindow myWindow=new MyWindow(”text5_4”);
}
}
36.小应用程序创建一个线程。例子使用容器类方法getGraphics()获得Graphics对象,给线程作为画笔使用。请写出该程序中这个线程的工作内容。
import java.applet.*;import java.awt.*;
public class Class1 extends java.applet.Applet implements Runnable{
Thread redBall;Graphics redPen;
int rx=0,ry=0;
public void init(){
setSize(250,200);
redBall =new Thread(this);
redPen=getGraphics();
redPen. setColor(Color.red);
setBackground(Color.gray);
}
public void start()
public void run(){
while(true){
if(Thread.currentThread()==redBall){
rx=(int)(80*Math.random());
ry=(int)(80*Math.random());
red Pen.setColor(Color.red);
red Pen.fillOval(100+rx,100+ry,10,10);
try
catch(InterruptedException e){}
redPen.setColor(Color.gray);
redPen.fillOval(100+rx,100+ry,10,10);
}
}
}
}
六、程序设计题(本大题共2小题,每小题6分,共12分)
37.编写一个方法halfArray(),要求该方法有一个元素类型为int的数组参数,方法返回一个新数组,新数组的长度与参数数组的长度相同,而新数组元素的值是参数数组各元素的一半。
38.一个Java小应用程序,界面有三个文本框和两个按钮,前两个文本框用于输入整数,第三个文本框用于输出结果。两个按钮分别表示加和减运算。当前两个文本框输入整数后,点击相应按钮,程序就将计算结果输出在第三个文本框中。以下是程序的大部分,其中监视按钮事件的方法未给出,试编写处理按钮事件的方法。
注:这里是给定部分的程序,你要编写的是actionPerformed(ActionEvent e)方法。
import java.applet.*;import javax.swing.*;
import java.awt.*; import java.awt.event.*;
class Panel1 extends JPanel{
JTextField text1, text2, text3;JButton addButton,subButton;
Panel1(){
text1=new JTextField(10);text2=new JTextField(10);
text3=new JTextField(10);setLayout(new GridLayout(5,1));
addButton=new JButton(”加”);subButton=new JButton(”减”);
add(text1); add(text2);
add(text3); add(addButton); add(subButton);
}
}
public class Classl extends Applet implements ActionListener{
Pane1 panel;
public void init(){
setSize(100,200); panel=new Panel1();add(panel);
(panel.addButton).addActionListener(this);
(panel.subButton). addActionListener(this);
}
public void actionPerformed(ActionEvent e){

代码如下:

运行结果如下:

以下是文字版的代码:

import java.util.Scanner;

public class Test {

public static void main(String[] args){

Scanner in=new Scanner(System.in);

String s1,s2;

try{

System.out.print("请输入第一个字符串:");

s1=in.nextLine();

System.out.print("请输入第二个字符串:");

s2=in.nextLine();

getSameChar(s1,s2);

}

catch(Exception e){

e.printStackTrace();

}

}

public static void getSameChar(String s1,String s2){

char c;//相同字符

char[] same=s1.toCharArray();//数组same用于控制:如果s1字符串中有相同的字符,则只输出一次

//如s1为aabc s2为a 则只输出1次a 而不是两次

int count=0,j;//与数组same相关的变量

int i,k;//循环变量

System.out.println(s1+"与"+s2+"相同的字符有");

for(i=0;i<s1.length();i++){

c=s1.charAt(i);

out:for(k=0;k<s2.length();k++){

if(c==(s2.charAt(k))){

for(j=0;j<count;j++){//如果字符c已经被打印过,则直接跳出循环,查找下一个

if(c==same[j])

break out;//跳出被out标记的循环

}//如果字符c是第一次出现,则把它添加进数组same

same[count]=c;

count++;

//如果字符c是第一次出现,将其打印出来

if(c==' '){

System.out.println("空格键");

break;

}

System.out.println(c);

break;

}

}

}

}

}



import java.util.*;
public class Test{

public static void main(String[]args)
{
test();
}
private static void test()
{
String str1="welcome to Zhuhai";
String str2="come here";
List<String> list=new ArrayList<String>();
for(int i=0;i<str1.trim().length();i++)
{
if(str1.charAt(i)==32)
continue;
for(int j=0;j<str2.trim().length();j++)
{
if(str1.charAt(i)==str2.charAt(j)&& !isExist(list,str1.substring(i, i+1)))
list.add(str1.substring(i,i+1));
}
}
display(list);
}
private static boolean isExist(List<String> list,String dest)
{
for(String s:list)
{
if(dest.equals(s))
return true;
}
return false;
}
private static void display(List<String> list)
{
for(String s:list)
{
System.out.println(s);
}
}}

不是找相同的字符串吧?如果是找字符串的话有点麻烦,但是只是要找相同的字符就很简单了。要代码?我只写思路可以不?
建立两个或者是一个map映射。这里用两个数组。int[100]count;char [100]c;//储存所有的字符,如果不够就将他简单一点,但是上面的count也必须和c一般大小。//初始化两个数组,count数组全为0,c数组为所有能出现在字符串中的字符。例如c[0]='a';count[0]=0;//然后将两个字符串处理成两个字符数组,也可以不处理,但是一定要能直接遍历每一个字符。//遍历第一个字符串,将出现的字符其所对应在count数组处的数据修改为1,如第一个字符串有'a',//那么count[0]=1;//遍历第二个字符串,同样将出现的字符在count数组所对应的位置的数据修改为"如果之前为1,则修改为2//如果之前不为1,则不变"。//然后遍历count数组,找出所有数值为2的,其所对应的c数组处所对应的字符便是两个字符串中相同的字符//如在第二字符串中也出现了'a',并且count[0]==1,那么修改count[0]=2;这样在遍历count时,count[0]==2,//则c[0]是两字符串中相同的字符,也就是说'a'同时出现在了两个字符串。 ----------上面没有写代码,但是将所有的顺序都写出来了,希望你能看懂。


百度java是什么意思
百度java是指在百度搜索引擎中,用户搜索“java”两个字所得到的搜索结果。Java是一种广泛使用的编程语言,可用于开发各种类型的应用程序。在百度搜索中,用户搜索java,除了可以得到Java编程语言的相关信息,还可以获得与Java有关的上下游技术、开发工具等方面的内容。Java编程语言的应用领域相当广泛,常用于...

用java编写一个程序,能够从键盘接收两个字,然后计算两个字的积
\一~\鿿 这是汉字字符的UNICODE编码的范围 只要输入的字符串长度大于等于2,并且每个字符转成int后,在这个范围内就可以了。

java文件抓取网页的中文字符串编码问题,两个字人名正常,第三个字就...
out.flush();out.close();in.close();

java 正则表达使用,匹配两个字串之间的内容
(?<=@@!).*(?=@@~)(?<=@@!) 匹配一个位置,而不是字符.这个位置在@@!後面.(?=@@~) 匹配一个位置,而不是字符.这个位置在@@~前面..* 这两个位置之间的所有字符.另外,要注意使用的符号是中文的还是英文的,是全角还是半角,这关系到能否正确匹配.你上面的感叹号是中文的....

java 两个字的计算程序 编译不通过,不知道错在哪,请高手指点,谢谢!_百...
mainFrame.Title("两数计算程序");改为 mainFrame.setTitle("两数计算程序");要就是你包导错了,,你看哈啦

学习Java最重要的是什么
2. 就业保障完善 实现1+1>2效果的关键在于能够为你提供良好的发展平台,即能够为你提供良好的就业保障,让学员能够学到实在实在的知识,并向java学员提供一对一的就业指导,确保学员找到自己的心理工作。3. 学费性价比高 一个好的Java培训机构肯定能给你带来1+1>2的效果,如果你在一个由专业的Java...

Java的核心技术什么?
第一:Java虚拟机 Java虚拟机的主要任务是装在class文件并且执行其中的字节码。Java虚拟机包含一个类装载器,它可以从程序和API中装载class文件。Java API中只有程序执行时需要的那些类才会被装载。字节码由执行引擎来执行。不同的Java虚拟机中,执行引擎可能实现得非常不同。在由软件实现的虚拟机中,最简单的执行引擎就...

java中如果想输出\\n这两个字符怎么办?就是不让程序换行而是直接显示\\n...
因为\\是一个特殊字符,所以,要单独提取\\的时候,需要转义,如下:求采纳哦 System.out.print("\\\\n")

java 正则表达式 提取两个字符串中的字符串
Pattern pattern = Pattern.compile("()([^<]+?)()");Matcher matcher = pattern .matcher("er你说什么也学测试");while (matcher.find()) { System.out.println(matcher.group(2));}

用java 编写一个程序,接受用户输入的一段英文文字,统计出其中的字符个...
public static void main(String[] args){ System.out.println("请输入英语片段,以';'结束:");Scanner scanner = new Scanner(System.in);String str = "";int dc = 0;int zc = 0;int jc = 0;while(scanner.hasNext()){ str = scanner.next();zc += str.length();dc++;System....

平凉市18963722335: java取两个字符串中的相同字符 -
司霭速力: 实现思路:就是拿一个字符串中的单个字符内容,循环和另为一个字符串中的字符比较,之后输出结果.方法举例:public static String test(String str1,String str2) { String s=""; for(int i=0;i<str1.length();i++)//获取第一个字符串中的单个字符 for(int j=0;j<str2.length();j++)//获取第er个字符串中的单个字符{ if(str1.charAt(i)==str2.charAt(j))//判断字符是否相同 s=s+str1.charAt(i); } return s; }

平凉市18963722335: 用java找出两个字符串中的相同的字符?? -
司霭速力: 不是找相同的字符串吧?如果是找字符串的话有点麻烦,但是只是要找相同的字符就很简单了. 要代码?我只写思路可以不? 建立两个或者是一个map映射. 这里用两个数组. int[100]count; char [100]c;//储存所有的字符,如果不够就将他简...

平凉市18963722335: 如何找出两个字符串所共有的字符?java代码 -
司霭速力: import java.util.ArrayList; import java.util.List;public class Test{public static void main(String[] args){String str1="aa";String str2="adb";//保存共有的字符List list=new ArrayList();for(int i=0;iif((!list.contains(str1.charAt(i)))&&(str2.indexOf(...

平凉市18963722335: java中如何把两个字符串中求重复的字符串取出来 -
司霭速力: String a ="sdfasdfasdf"; String b ="asdfhearhmykky"; for(char i :a.toCharArray() ){ if(b.indexOf(i)!=-1){ System.out.print(i); } }

平凉市18963722335: java取两个字符串中的相同字符
司霭速力: class Test{ public static void main(String[] args) { String str1 = "452"; String str2="594"; String same=theSame(str1,str2); System.out.println(same); } public static String theSame(String str1,String str2) { String s=""; for(int i=0;i&lt;str1.length()...

平凉市18963722335: JAVA 找出两个字符串的共有字符 -
司霭速力: String a="abcd";String b="cdef";char[] aa=a.toCharArray();char[] bb=b.toCharArray();System.out.print("两个字符串共有字符为:");for(int i=0;i<aa.length;i++){for(int j=0;j<bb.length;j++){if(aa[i]==bb[j]){System.out.print(aa[i]);}}}

平凉市18963722335: 如何编程实现搜索两个字符串中的所有相同的子串 -
司霭速力: //JAVA 编程 找出两个字符串中所有共同的字符 import java.io.*; import java.util.*; public class Str { public static void main(String[] args) {/** 拿出s1的每一个字母和s2每一个字母比较, 相同就增加到list里面*/ String s1 = "avavsdadavcda"; String s...

平凉市18963722335: 用java编写一个程序,两个字符串“12345”,“234567”找出两个字符串中所有相同 -
司霭速力: import java.util.HashSet; public class windowsTest { public static void main(String[] args) { HashSet<String> set = new HashSet<String>(); String s1 = "12345"; String s2 = "23456"; String s3 = s1 + s2; for(int i = 0; i < s3.length(); i++){ if(!set.add...

平凉市18963722335: java 如何判断两个字符串是否有相同字符串 -
司霭速力: public class Test{ public static void main(String[] args) { String a = "abc"; String b = "cdd"; int i; for (i = 0; i if(b.contains(a.charAt(i)+"")){//判断是否相等 System.out.println("true"); break;//结束for循环 } } if(i == a.length()){//如果i等于了a本身长度,说明没有相等的 System.out.println("false"); } } }通过如上代码可判断

平凉市18963722335: java一个基础的东西,怎么提取两个字符串含有相同的字符,比如String str1=“张三是人”; -
司霭速力: List list1 = new ArrayList(); List list2 = new ArrayList(); for(int i=0;i<str1.length;i++){ list1.add(str1.charAt(i)); } for(int j=0;j<str2.length;j++){ list2.add(str2.charAt(j)); } String result = ""; for(int m=0;m <list1.size(); m++){ for(int n =0; n<list2.size(); n++){ ...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网