/* 面试题

* 1:String,StringBuffer,StringBuilder的区别?

*

* String是内容不可变的,StringBuffer,StringBuilder都是内容可变的

* StringBuffer是同步的,数据安全,效率低,StringBuilder是不同步的,数据不安全,效率高

*

* 2:StringBuffer和数组的区别?

*

* 二者都可以看成是一个容器,装其他的数据

* 但是StringBuffer的数据最终是一个字符串数据

* 而数组可以放置多种数据,但必须是同一种数据类型的

*

* 3:形式参数问题

* String作为参数传递

* StringBuffer作为参数传递

*

* 形式参数:

* 基本类型:形式参数的改变不影响实际参数

* 引用类型:形式参数的改变直接影响实际参数

*

* 注意:

* String作为参数传递,效果和基本类型作为参数传递是一样的

*/

/* 面试题

* 1:String,StringBuffer,StringBuilder的区别?

*

* String是内容不可变的,StringBuffer,StringBuilder都是内容可变的

* StringBuffer是同步的,数据安全,效率低,StringBuilder是不同步的,数据不安全,效率高

*

* 2:StringBuffer和数组的区别?

*

* 二者都可以看成是一个容器,装其他的数据

* 但是StringBuffer的数据最终是一个字符串数据

* 而数组可以放置多种数据,但必须是同一种数据类型的

*

* 3:形式参数问题

* String作为参数传递

* StringBuffer作为参数传递

*

* 形式参数:

* 基本类型:形式参数的改变不影响实际参数

* 引用类型:形式参数的改变直接影响实际参数

*

* 注意:

* String作为参数传递,效果和基本类型作为参数传递是一样的

*/

public class StringTest {

public static void main(String[] args) {

// TODO Auto-generated method stub

String s1="hello";

String s2="world";

System.out.println(s1+"---"+s2);

change(s1,s2);

System.out.println(s1+"---"+s2);

StringBuffer sb1=new StringBuffer("hello");

StringBuffer sb2=new StringBuffer("world");

System.out.println(sb1+"---"+sb2);

change(sb1,sb2);

System.out.println(sb1+"---"+sb2);

}

private static void change(String s1, String s2) {

// TODO Auto-generated method stub

s1=s2;

s2=s1+s2;

}

private static void change(StringBuffer sb1, StringBuffer sb2) {

// TODO Auto-generated method stub

sb1=sb2;

sb2.append(sb1);

}

}

面试题

字符串连接

public class Aserver {

public static void main(String args[]) {

// 字符串数据和其他数据+,结果是字符串类型

// 运算符重载+,字符串拼接

System.out.println("hello" + 'a' + 1);// helloa1

System.out.println('a' + 1 + "hello");// 98hello

System.out.println("5+5=" + 5 + 5);// 5+5=55

System.out.println(5 + 5 + "=5+5");// 10=5+5

}

}

模拟用户登录

import java.util.Scanner;

public class StringTest {

public static void main(String[] args) {

// TODO Auto-generated method stub

int count = 3;

String username = "admin";

String password = "admin";

for (int i = 0; i < count; i++) {

Scanner sc = new Scanner(System.in);

System.out.println("请输入用户名");

String name = sc.nextLine();

System.out.println("请输入密码");

String pwd = sc.nextLine();

if (name.equals(username) && pwd.equals(password)) {

System.out.println("登录成功");

break;

} else {

if (i == 2) {

System.out.println("账号被锁定,请与管理员联系。");

break;

}

System.out.println("登录失败,你还有" + (count - i - 1) + "次机会。");

}

}

}

}

例4.1小应用程序先声明一个数组a,在方法init()中创建它,指定有5个元素,然后为数组元素逐一赋值。在方法paint()中输出数组各元素的值。

import java.applet.*;

import java.awt.*;

public class Example4_1 extends Applet {

int a[];// 标识符ua能引用元素类型是int的数组

public void init() {

a = new int[5];// 创建一个含5个元素的数组,并让a引用它

a[0] = 100;

a[1] = 101;

a[2] = 102;

a[3] = 103;

a[4] = 104;

}

public void paint(Graphics g) {

g.drawString("a[0]=" + a[0] + " a[1]=" + a[1] + " a[2]=" + a[2], 12, 12);

g.drawString("a[3]=" + a[3] + " a[4]=" + a[4], 12, 32);

}

}

例4.2设明数组是一种引用类型的应用程序。

public class Example4_2 {

static public void main(String[] args) {

int firstArray[] = { 1, 2, 3, 4 };// 采用数组初始化创建数组

int secondArray[] = { 5, 6, 7, 8, 9, 10 };

int myArray[];// 声明标识符myArray可以引用数组

myArray = firstArray;// myArray与firstArray一样,引用同一个数组

System.out.println("First Array:");

for (int index = 0; index < myArray.length; index++) {

System.out.println(myArray[index]);// 通过myArray对数组做操作

}

myArray = secondArray;// 让myArray引用另一个数组

System.out.println("Second Array:");

for (int index = 0; index < myArray.length; index++) {

System.out.println(myArray[index]);// 通过myArray对数组做操作

}

}

}

例4.3一个含三角二维数组的应用程序。

public class Example4_3 {

static public void main(String[] args) {

boolean bTbl[][] = new boolean[4][];// 仅说明第一维,有4个子数组

for (int i = 0; i < bTbl.length; i++)// 创建第二维

{

bTbl[i] = new boolean[i + 1];

}

for (int i = 0; i < bTbl.length; i++)// 在屏幕上打印数组内容

{

for (int k = 0; k < bTbl[i].length; k++) {

System.out.print(bTbl[i][k] + " ");

}

System.out.println("");

}

}

}

例4.4一个说明字符串连接运算和连接方法的应用程序。

public class Example4_4 {

static public void main(String[] args) {

String s1 = "ABC";

String s2 = "DEFG";

System.out.println(s1 + s2);// 应用字符串连接运算

s1 = "ABC";

s2 = "XYZ";

s1 = s1.concat(s2);// 应用字符串连接方法

System.out.println(s1);

}

}

例4.5一个说明字符串的字符替换和去掉字符串前后空格的应用程序。

public class Example4_5 {

static public void main(String[] args) {

String s = "1234567788", str;

str = s.replace('7', 'A');

System.out.println("s=" + s + " str=" + str);

String s2 = " 123456 77 88 ", str2;

str2 = s2.trim();

System.out.println("s2=" + s2 + "| str2=" + str2 + "|");

}

}

例4.6利用StringTokenizer类分析字符串。

import java.util.*;

public class Example4_6 {

public static void main(String[] args) {

String s1 = "public static void, main";

String s2 = "StringTokenizer pas2? =new StringTokenizer";

StringTokenizer pas1 = new StringTokenizer(s1, " ,");// 空格逗号做分隔符

StringTokenizer pas2 = new StringTokenizer(s2, "? ");// 问号空格做分隔符

int n1 = pas1.countTokens(), n2 = pas2.countTokens();

System.out.println("s1有单词:" + n1 + "个,全部单词如下:");

while (pas1.hasMoreTokens()) {

String s = pas1.nextToken();

System.out.println(s);

}

System.out.println("s2有单词:" + n2 + "个,全部单词如下:");

while (pas2.hasMoreTokens()) {

String s = pas2.nextToken();

System.out.println(s);

}

}

}

例4.7一个说明字符串与字节数组的应用程序。

import java.util.*;

public class Example4_7 {

public static void main(String[] args) {

byte b[] = new byte[10];

for (int k = 0; k < 10; k++) {

b[k] = (byte) (k + 48);// 数字符0的ASCII码值是48

}

String s1 = new String(b);

String s2 = new String(b, 3, 6);

String s3 = new String("ABC");

String s4 = new String("Java程序");

byte c[] = s3.getBytes();

byte d[] = s4.getBytes();

System.out.println(s2);

System.out.println(s3);

System.out.println("数组c的长度是:" + c.length);

System.out.println("数组d的长度是(一个汉字占两个字节):" + d.length);

System.out.println("用ASCII数值输出数组c[]:");

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

System.out.println("c" + "[" + i + "]:" + c[i]);

}

System.out.println("用ASCII数值对应的字符输出数组c[]:");

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

System.out.println("c" + "[" + i + "]:" + (char) c[i]);

}

System.out.println("用ASCII数值输出数组d[]:");

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

System.out.println("d" + "[" + i + "]:" + d[i]);

}

}

}

例4.8程序获取Date对象的小时、分和秒,获得Date对象的字符串表示,并测试一个循环所消耗的时间。

import java.util.*;

public class Example4_8 {

public static void main(String[] args) {

Date date1 = new Date();

System.out.println("日期及时间是:" + date1);

String t = date1.toString();

t = t.substring(11, t.indexOf('C'));// 截取时、分、秒部分。

System.out.println("现在时间是:" + t);

double sum = 0.0;

for (double i = 0; i < 80000000; i++) {

sum = sum + i;

}

System.out.println("" + sum);

Date date2 = new Date();// 循环结束后的时间。

t = date2.toString();

t = t.substring(11, t.indexOf('C'));// 字符C之前为时分秒

System.out.println("现在时间是:" + t);

}

}

java数组与字符串编程及答案_04747_Java语言程序设计(一)_第4章_数组和字符串...相关推荐

  1. 郑莉版java第三章答案_java语言程序设计(郑莉)第七章课后习题答案.docx

    java语言程序设计(郑莉)第七章课后习题答案.docx 还剩 10页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,喜欢就下载吧,价低环保! 内容要点: if (matrix.isTria ...

  2. c语言第八章上机答案,C语言程序设计上机指导第8章答案.doc

    C语言程序设计上机指导第8章答案 上 机 报 告 课程名称 计算机程序设计基础(C语言) 专业班级 姓 名 学 号 上机题目函数调用程序设计实 验 室机房同组人数1实验时间年 月 日成 绩指导教师一. ...

  3. 阿尔法编程python答案_C语言程序设计-阿尔法编程(编程答案)

    { int putin,total,jo=50,yo=42,jafter=0,gavey=0; scanf("%d",&putin); total=putin+jo+yo; ...

  4. python嵩天第七章课后题答案_python语言程序设计嵩天第七章答案

    参考答案如下 直流负反馈可以稳定电路的静态工作点,嵩天交流负反馈可以改善放大器的动态性能. 餐厅环境准备包括:程序( ).背景音乐.通风及温度的准备. 设计下列代码的输出结果是______var a ...

  5. 速学堂(java)第八章编程题答案自写

    速学堂(java)第八章编程题答案自写 1. 验证键盘输入的用户名不能为空,长度大于6,不能有数字. 提示:使用字符串String类的相关方法完成可以使用Scanner的nextLine()方法,该方 ...

  6. 郑莉java课后答案,Java语言程序设计(郑莉)第三章课后习题答案

    <Java语言程序设计(郑莉)第三章课后习题答案>由会员分享,可在线阅读,更多相关<Java语言程序设计(郑莉)第三章课后习题答案(10页珍藏版)>请在人人文库网上搜索. 1. ...

  7. c语言形考作业1答案,c语言程序设计形考任务二答案.doc

    c语言程序设计形考任务二答案.doc 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的网址水印. 3. ...

  8. 中南c语言作业答案,C语言程序设计习题集沈国荣-参考答案

    <C语言程序设计习题集沈国荣-参考答案>由会员分享,可在线阅读,更多相关<C语言程序设计习题集沈国荣-参考答案(31页珍藏版)>请在人人文库网上搜索. 1.C语言程序设计习题解 ...

  9. 中北大学c语言程序设计作业答案,C语言程序设计

    大家好!欢迎你们!无论是新同学还是老朋友,都非常高兴能在这里和大家相聚! 我们一如既往还说C,因为它称霸于计算机语言,超乎我们的想象. 如果想深刻的理解这个时代,就要理解计算机编程! 编程完成了基于计 ...

最新文章

  1. uni-app 音频控制
  2. 【分布式共识三】拜占庭将军问题----书面协议
  3. 详解JDBC与Hibernate区别
  4. linux提升网络实时性,通过调整Linux内核参数提升网络性能
  5. rsa.FromXmlString 系统找不到指定的文件
  6. 循环结果添加到集合_Java Note-数据结构(4)集合
  7. Mysql的两种“排名第几且有可能为空的记录”写法(力扣176)
  8. [python] 解决pip install download速度过慢问题 更换豆瓣源
  9. 游戏上线... 记录下...
  10. java线程池之一:创建线程池的方法
  11. 记一次使用Dapper 进行的数据迁移和清洗工作
  12. swift中的let和var有什么区别?
  13. 论文计算机在管理会计中的应用,浅论管理会计在企业中的应用
  14. 关于投资收益和风险的例题(线性规划)
  15. 常用电阻E24,E96阻值速查
  16. 思维导图有什么用?思维导图的优势、缺点及其适用人群详解 #CSDN博文精选# #知识图谱# #IT技术# #思维导图#
  17. Android 消息机制之 MessageQueue 消息队列
  18. B站狂神Docker学习笔记
  19. 清华大学计算机系张昕,程序设计语言的研究与发展——如何推进国内程序设计语言的教育和研究?丨CNCC技术论坛...
  20. 基于非结构网格的仿真——太湖之光上的巨大挑战

热门文章

  1. 重型车辆盲区行为检查Behaviours – Heavy Vehicle Blind Spots
  2. 多视觉任务的全能: HRNet
  3. 2021年大数据Spark(四十一):SparkStreaming实战案例六 自定义输出 foreachRDD
  4. 配置SSH是出现: sign_and_send_pubkey: signing failed: agent refused operation Permission denied
  5. MyBatis if标签的用法
  6. Asp.Net Core在线生成二维码
  7. 2022-2028年中国复膜胶行业发展现状调查及市场前景趋势报告
  8. python3 +改进HTMLTestRunner.py 测试报告显示
  9. 利用JS判断是手机端还是PC端 浏览网站
  10. Linux 启动详解之init