对char类型数组的英文字母进行冒泡排序

 1 import java.util.Arrays;
 2 import java.util.Scanner;
 3
 4 public class Demo02 {
 5     public static void main(String[] args) {
 6         Scanner sc=new Scanner(System.in);
 7         int n=sc.nextInt();
 8         char[] arr=new char[n];
 9         for(int i=0;i<arr.length;i++){
10             //英文字母 a  97      z  123
11             int m;
12             for(;;){
13                 m=(int)(Math.random()*124);
14                 if(m>96&&m<123){
15                     break;
16                 }
17             }
18             arr[i]=(char)m;
19         }
20         System.out.println("排序前:"+Arrays.toString(arr));
21
22         for(int i=0;i<arr.length;i++){
23             for (int j = 0; j < arr.length-1-i; j++) {
24                 if(arr[j]>arr[j+1]){
25                     char temp=arr[j];
26                     arr[j]=arr[j+1];
27                     arr[j+1]=temp;
28                 }
29             }
30         }
31         System.out.println("排序后"+Arrays.toString(arr));
32     }
33 }
1 运行结果:
2 5
3 排序前:[v, d, z, q, j]
4 排序后:[d, j, q, v, z]
时间: 2024-10-07 10:18:21

对char类型数组的英文字母进行冒泡排序的相关文章

【JAVA】java中char类型数组用数组名打印结果不是地址值而是数组内容

问题描述 引用型变量存储的是对象实例的地址值,如果直接打印变量,输出的应该是地址值. 数值型数组如int型数组:初始化后直接打印数组名,输出的是地址值. 但是:char类型数组无论是new还是直接赋值初始化,直接打印后显示的居然不是地址值,而是数组内容. 原因分析 char类型的数组就相当于一个字符串. 因为输出流System.out是PrintStream对象,PrintStream有多个重载的println方法,其中一个就是public void println(char[] x): 直接打

C++ 中TCHAR字符串数组转化为Char类型数组

1 #include <stdio.h> 2 #include <tchar.h> 3 4 char* UnicodeToAnsi( const wchar_t* szStr ) 5 { 6 int nLen = WideCharToMultiByte( CP_ACP, 0, szStr, -1, NULL, 0, NULL, NULL ); 7 if (nLen == 0) 8 { 9 return NULL; 10 } 11 char* pResult = new char[n

将一个字符串看作一个char类型的数组

有时候我们会遇到将用户输入的一句话中的某一个字符拿出来用的问题. 我们可以将用户输入的字符串看作一个char类型的数组 比如有一个字符串string a = "hello"; 要将'e'输出怎么办? 我们将a看作一个char类型的数组,然后使用for循环来遍历这个数组,然后在控制台中输出即可 for(int i = 0;i<a.Length;i++) { Console.writeLine(a[1]); } 关键是要有将字符串看作char类型数组的思维. 小菜鸟今天的一点小心得,

string:本质是char类型的数组

一个字符串,可以看作是多个char组成的数组,本质就是char类型数组. 字符串是 Unicode 字符的有序集合,用于表示文本.所以String 对象是 Char 对象的有序集合,用于表示字符串.String 对象的值是该有序集合的内容,并且该值是不可变的.字符串本质是字符数组--这是一个非常重要的概念,了解这个概念就可以全面的理解和把握字符串的各种特征. 由于字符串是字符数组,因此字符串可以直接当数组使用,通过下标的模式访问字符串中的每一个字符,或者可以将字符串转为字符数组. static

统计一段文字中数组、中文、英文字母、空格以及其他特殊字符出现的次数

package util; public class CountStr { /** * 有一个字符串,其中包含中文字符.英文字符和数字字符,请统计和打印出各个字符的个数 * 短信发送平台,短信字数控制查询方法 */ public static void main(String[] args) { //String str = "adasf AAADFD我是中文,,>123"; //String str = "金马甲高端商品交易平台--2013全城热恋克拉钻石项目预售,1

【笔试】7、统计出其中英文字母、空格、数字和其它字符的个数

/** * 题目:题目:输入一行字符,分别统计出其中英文字母.空格.数字和其它字符的个数. * 时间:2015年7月28日10:04:33 * 文件:lianxi07.java * 作者:cutter_point */ package bishi.zuixin50.t2015728; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileOutp

C:函数:功能:实现字符数组中所有字母的倒序存放并输出

前两天小测碰到一道题,建立一个函数,功能:实现字符数组中所有字母的倒序存放并输出,一开始觉得简单跟数字数组差不多,运行一下发现很多格式错误,这些是不必要的错误,现在就来说下,先说一下代码思路:定义一个字符数组假如有n个字符,让一个指针变量*p指向首地址,*(p+n-1)就是末地址,然后实现*p与*(p+n-1)值的互换,这边让*q=*(p+n-1)每换一次,p++,q--,当p>q时退出循环,我们来看下代码: 1 #include "stdio.h" 2 char change(

编写一个程序,统计输入字符串中每一个小写英文字母出现的次数

import java.util.Scanner; /** * @author:(LiberHome) * @date:Created in 2019/3/1 22:18 * @description: * @version:$ */ /*编写一个程序,统计输入字符串中每一个小写英文字母出现的次数*/ public class page0901 { public static void main(String[] args) { /*首先,输入一段字符串作为字符数组*/ System.out.p

int类型和char类型的区别

下面三个定义式的区别: int i = 1; char i = 1; char i = '1'; int用来定义整型变量,char用来定义字符型变量,要清楚的知道三个定义式的区别,可以比较它们在内存中的存储形式. 数据在内存中是以二进制形式存放的,而且是以补码表示的.一个正整数的补码和该数的原码(即该数的二进制形式)相同:如果数值是负的,求补码的方法是:将该数的绝对值的二进制形式,按位取反再加1.这里不对补码的知识做过多的讨论了. int i = 1,则内存中的存储形式为:0 0 0 0 0 0