参考答案和解析
答案:
import java.lang.reflect.Array;
import java.util.Arrays;
public class Chap54e {
public static void main(String[] args) {
String str="svd9876fsb543fdg210";
StringBuffer sf=new StringBuffer();
int a,i,j;
for(i=0;i
{
if(str.charAt(i)>='0'&&str.charAt(i)<='9')
{ a=Integer.valueOf(String.valueOf(str.charAt(i)));
//或 a=Integer.parseInt(String.valueOf(str.charAt(i)));
if(a%2==0)
{sf.append(a);}
}
}
int[] arr=new int[sf.length()];
for(i=0;i
{
arr[i]=Integer.valueOf(String.valueOf(sf.charAt(i)));
}
for(int k:arr)
System.out.println(k);
System.out.println("");
for(i=0;i
for(j=0;j
{
int temp;
if(arr[j]>arr[j+1])
{
temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;// TODO Auto-generated method stub
}
}
System.out.println(Arrays.toString(arr));
}
}
【参考答案二】
import java.util.Arrays;
public class Chap54e {
public static void main(String[] args) {
// 1.String str = "svd9876fsb543fdg210";将字符串中所有偶数转为int[] 数组,
// 再对数组冒泡排序,最后使用Arrays输出数组。
String str = "svd9876fsb543fdg210";
StringBuilder sb = new StringBuilder();
// 1.遍历字符串,获取每个字符
for (int i = 0; i < str.length(); i++) {
char charAt = str.charAt(i);
// 2.判断当前字符是否为数字,
if (Character.isDigit(charAt)) {// 如果是数字
// 3.再判断该字符是否为偶数如果是偶数
// char--->String--->int
int parseInt = Integer.parseInt(String.valueOf(charAt));
if (parseInt % 2 == 0) {
// 保存起来
sb.append(parseInt);
}
}
}
System.out.println("sb:" + sb);
// 4.根据保存偶数数字的个数来创建int[]
int[] arr = new int[sb.length()];
for (int i = 0; i < sb.length(); i++) {
char charAt = sb.charAt(i);// 获取sb中下表为i的字符
// 将该字符转为int类型
int parseInt = Integer.parseInt(String.valueOf(charAt));
// 5.将存储的数字赋值给int[]
// 将该int类型的值赋值给数组下表为i的元素
arr[i] = parseInt;
}
System.out.println(Arrays.toString(arr));
// 6.冒泡
maoPao(arr);
// 7.输出
System.out.println(Arrays.toString(arr));
}
/**
* 对数组冒泡排序
*
* @param arr
* 被排序的数组
*/
public static void maoPao(int[] arr) {
for (int i = 0; i < arr.length - 1; i++) {
for (int j = 0; j < arr.length - 1 - i; j++) {
if (arr[j] > arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
}
更多“String str = "svd9876fsb543fdg210";将字符串中所有偶数转为int[] 数组,再对数组冒泡排序,最后使用Arrays输出数组。 ”相关问题
  • 第1题:

    索引数组的键是(),关联数组的键是()。

    A.浮点,字符串

    B.正数,负数

    C.偶数,字符串

    D.整型,字符串


    参考答案:D

  • 第2题:

    在下列叙述中,错误的一条是______。

    A.定义char*string="China"中的string是一个字符串变量,其值为China

    B.若有一个多维数组a,则*(a+i)与a[i]等价

    C.int(*p)[4]表示p为指针变量,它指向包含4个元素的一维数组

    D.数组名代表数组的首地址,固定不变。指针变量可通过指向数组首地址来代表对应的数组,但其值可以改变


    正确答案:A

  • 第3题:

    类 myArray定义如下:

    public class myArray

    {

    static int[] a = {21,42,16,31,23,47,35};

    public void sortArray() //对数组从小到大进行排序

    { …… }

    public int getMax() //返回最大的数组元素

    { …… }

    public int getMin() //返回最小的数组元素

    { …… }

    public float getAverage() //返回所有数组元素的平均值

    { …… }

    public static void main(String[] args)

    { myArray myarray = new myArray();

    myarray.sortArray();

    System.out.println(myarray.getMax());

    System.out.println(myarray.getMin());

    System.out.println(myarray.getAverage());

    }

    在 main 方法中实现了数组元素最大值、最小值和平均值的输出。请编程实现 sortArray()、 getMax()、 getMin()、

    getAverage()四个方法。

    提示:排序完成以后,最大值即为最后一个数组元素,最小值为第一个数组元素。

    请在 jsp 网页中利用脚本计算1*2*3*……*10 的值并输出。


    正确答案:
      

  • 第4题:

    在C语言中,关于字符串描述错误的是( )。

    A.C中的字符串是作为字符数组来处理的

    B.C语言规定:以‘\0’作为字符串结束标志

    C.char str[]={"hello\nworld!"}; puts(str); 输出: hello\n world!

    D.可以利用strlen(字符数组)测试字符串的长度


    正确答案:C

  • 第5题:

    使用String类的toCharArray方法可以将一个字符串转为一个字符数组。()

    此题为判断题(对,错)。


    正确答案:正确

  • 第6题:

    利用Math类获取5个随机整数范围在(15,30),不能重复,放在数组中,冒泡排序后遍历输出。


    答案:
    public class Chap55e {
    public static void main(String[] args) {
    int[] arr=new int[5];
    int a;
    for(int i=0;i<5;i++)
    { a=(int)(Math.random()*(30-15))+15;// TODO Auto-generated method stub
    for(int j=0;j<5;j++)
    if(a==arr[j])
    i--;
    else
    {arr[i]=a;
    break;
    }
    }
    for(int k:arr)
    System.out.print(k+" ");
    System.out.println("");
    for(int i=0;i<4;i++)
    for(int j=0;j<4-i;j++)
    {
    int temp;
    if(arr[j]>arr[j+1])
    {
    temp=arr[j];
    arr[j]=arr[j+1];
    arr[j+1]=temp;
    }
    }
    for(int k:arr)
    System.out.print(k+" ");
    }
    }

  • 第7题:

    任何类的对象数组都可以使用Arrays.sort()方法进行排序操作。


    正确答案:错误

  • 第8题:

    StringBufferappend(char[],intint1,intint2)表示()

    • A、向一个字符串追加字符数组,范围从数组的索引int1开始,到索引int2结束
    • B、向一个字符串追加字符数组,范围从数组的索引int1开始,到索引int2-1结束
    • C、向一个字符串追加字符数组,范围从数组的索引int1开始,长度为int2
    • D、向一个字符串追加字符数组,范围从数组的索引int1开始,长度为int2-1

    正确答案:A

  • 第9题:

    下面有关字符数组的描述中错误的是()。

    • A、字符数组可以存放字符串
    • B、字符串可以整体输入,输出
    • C、可以在赋值语句中通过赋值运算对字符数组整体赋值
    • D、不可以用关系运算符对字符数组中的字符串进行比较

    正确答案:C

  • 第10题:

    冒泡排序算法中降序排序指的是()

    • A、从高到低排列数组元素值
    • B、从低到高排列数组元素的值
    • C、由横向到纵向排列数组元素的值
    • D、由纵向到横向排列数组元素的值

    正确答案:A

  • 第11题:

    单选题
    以下叙述中正确的是(  )。
    A

    语句“char str[10]=string!;”和“char str[10]={string!};”并不等价

    B

    对于字符串常量“string!”,系统已自动在最后加入了'\0'字符,表示串结尾

    C

    对于一维字符数组,不能使用字符串常量来赋初值

    D

    在语句“char str[]=string!;”中,数组str的大小等于字符串的长度


    正确答案: B
    解析:
    B项正确,C编译程序将自动在字符串常量最后添加'\0'。AC两项错误,可以直接用字符串常量给一维字符数组赋初值,习惯上均省略花括号;D项错误,'\0'会占用一个不属于字符串的存储单元,因此数组str的长度大于字符串的长度。答案选择B选项。

  • 第12题:

    判断题
    任何类的对象数组都可以使用Arrays.sort()方法进行排序操作。
    A

    B


    正确答案:
    解析: 暂无解析

  • 第13题:

    下述对C语言字符数组的描述中错误的是

    A.字符数组的下标从0开始

    B.字符数组中的字符串可以进行整体输入/输出

    C.可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值

    D.字符数组可以存放字符串


    正确答案:C
    解析:在C语言中,通过使用库函数允许对字符数组进行整体输入/输出。C语言不允许通过赋值运算符对字符数组整体进行赋值,对字符串使用符号:只能在说明字符数组并进行初始化的时候进行。字符串结束标志为'\0',计算字符串的实际长度时。不计入串长。

  • 第14题:

    请编写函数proc,其功能是:将str所指字符串中除下标为偶数、同时ASCIl码值为奇数的字符外,其余的字符都删除,串中剩余字符所形成的一个新串放在t所指的数组中。例如,若str所指字符串中的内容为ABCDEFGl2345,其中字符B的ASCIl码值为偶数,所在元素的下标为奇数,因此必须删除;而字符A的ASCIl码值为奇数,所在数组中的下标为偶数,因此不应当删除。依此类推,最后t所指的数组中的内容应是ACEG。 注意:部分源程序给出如下。 请勿改动main函数和其他函数中的任何内容,仅在函数proc的花括号中填人所写的若干语句。 试题程序: include<stdlib.h> include<conio.h> include<stdio.h> include<string.h> void proc(char*str,char t[]) { } void main { char str[100],t[100]; system("CLS"); printf("\nPlease enter string str:"); scanf("%S",str); proc(str,t); printf("\nThe result iS:%s\n",t);


    正确答案:
    void proc(char*str。chart[3])
    {
    int i,j=0;
    for(i=0;str[i]! =\O;i++)//从数组的第一个元素开始,到其最后一个
    {if(i%2= =0str[i]%2 1=o)//下标为偶数、同时ASCIl码值为奇数的字符
    t[j++]=str[i];} //如果成立,则把它放到t数组中
    t[i]=\o;//字符串结束标志为\0
    }
    【解析】题目中要求将字符串str中下标为偶数,同时ASCIl码值为奇数的字符放在数组t中。首先,需要检查字符串str中下标为偶数的字符其ASCIl码值是否为奇数,将符合要求的字符放在数组t中。最后,为新的字符串数组添加结束符。

  • 第15题:

    下列对C语言字符数组的描述中,正确的描述是:()

    A、字符数组可以存放字符串

    B、字符数组中的字符串可以整体输入、输出

    C、不可以用关系运算符对字符数组中的字符串进行比较

    D、可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值


    参考答案ABC

  • 第16题:

    下述对C语言字符数组的描述中错误的是(46)。

    A.字符数组可以存放字符串

    B.字符数组中的字符串可以整体输入、输出

    C.可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值

    D.不可以用关系运算符对字符数组中的字符串进行比较


    正确答案:C
    解析:本题考查C语言字符数组的相关知识。C语言中的字符数组是对字符串有特殊处理能力的数组,数组的赋值操作是不能整体操作的,而需要对其中元素逐个赋值,字符数组也不例外。字符数组就是用来对字符串进行操作的,当然可以存放字符串,且字符串可以整体输入、输出。

  • 第17题:

    下列说法正确的是( )。

    A.字符型数组与整型数组可通用

    B.字符型数组与字符串其实没有什么区别

    C.当字符串放在字符数组中时,要求字符数组长度比字符串长1个单元,要放字符串终结符'\0'

    D.字符串的输出可以用它所存储的数组来输出,也可以字符串的形式整体输出,结果没区别


    正确答案:C
    解析:选项A要在一定的数值范围内;选项D中,若字符串存储在字符数组中,而且字符数组比字符串长,则输出时可能会输出空格,因为字符数组没有存储“\0”终结符,字符串整体输出却不会;选项B同选项D。

  • 第18题:

    下列函数中,可以将数组中各个元素连接成字符串的是()。

    • A、implode
    • B、explode
    • C、str_repeat
    • D、str_pad

    正确答案:A

  • 第19题:

    下列哪个语句是声明了一个含有10个string对象的数组()。

    • A、char str[];
    • B、char str[][];
    • C、string str[]=newstring[10];
    • D、string str[10];

    正确答案:C

  • 第20题:

    冒泡排序对一维数组进行从大到小排序,一趟排序后会将数组中的()排到最后

    • A、最大值
    • B、最小值
    • C、下标最大的值
    • D、下标最小的值

    正确答案:B

  • 第21题:

    将字符串2复制到字符数组1中去。charstr1[10],str2[]={“china”};strcpy();


    正确答案:(str1,str2)

  • 第22题:

    单选题
    索引数组的键是(),关联数组的键是()。
    A

    浮点,字符串

    B

    正数,负数

    C

    偶数,字符串

    D

    整型,字符串


    正确答案: C
    解析: 暂无解析

  • 第23题:

    单选题
    以下叙述中正确的是(  )。
    A

    不能用字符串常量对字符数组名进行整体赋值操作

    B

    字符串常量Hello会被隐含处理成一个无名字符型数组,它有5个元素

    C

    “char str[7] = string!;”在语法上是合法的,运行也是安全的

    D

    “char *str = Hello;”与“char str[]; str = Hello;”效果是一样的


    正确答案: C
    解析:
    A项正确,不可以用赋值语句给字符数组整体赋一串字符,但是可以直接用字符串常量给一维字符数组赋初始值。B项错误,编译器会在字符串常量最后添加'\0',它共有6个元素;C项错误,在语法上是合法的,但是没有字符串尾标识符,系统将要在其后的内存中找一个距它最近的'\0'作为其结束标志,运行时不安全;D项错误,不能给数组名str赋值。答案选择A选项。