「java计数特殊字符」java字符串计数
今天给各位分享java计数特殊字符的知识,其中也会对java字符串计数进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、如何在Java中获得特殊字符
- 2、java中显示特殊的数学字符
- 3、如何用java读取文件并统计文件的大小写字母,数字,特殊字符的个数
- 4、利用Java语言代码输入一行字符分别统计其中英文字母、空格、数字和其他字符的个数。
- 5、java怎么统计字符串内的标点符号?
如何在Java中获得特殊字符
java中的特殊符号不能直接输出,需要使用转义字符进行转义才能正常输出,如下: package com.bean; public class Change { public String ChangeText(String text){ char[]cs=text.toCharArray(); StringBuffer sb = new StringBuffer(); for(int i = 0 ; ics.length; i++){ char c = cs[i]; if(c==' '){ sb.append(" ");//将空格转换成nbsp }else if(c=='\n'){ sb.append("
"); }else if(c==''){ sb.append(""); }else if(c==',,,一般用于解析html文
java中显示特殊的数学字符
还有两天,由于时间关系,尽量帮你答哈,呵呵你也太小气了吧,5分不如不给呵呵开个玩笑
1.不存在的,基本单位:类
2.一般是从main()方法开始的
3.构造函数在类创建对像时无条件调用,而一般方法则要要对像去才可以调用,当然static方法直接用类名也可以调用
4.print()或println()两个方法,如System.out.println();
5.和你主类名必需完全相同,注意大小写,也就是public类的类名
6.javac 文件名.java
7.是.class文件
8.java 文件名(没有.java)
9.
public class HelloWorld{
public static void main(String]
args){
System.out.println("Helloworld");
}
}
第二部分:
1.标识符就是用户自己启的名字,有类名,方法名,变量名,要求:1.区分大小写,2.不能以数字开头3.不能要关键字
顺便说一哈在java中 还有一个不成文的约定那就是:类名可以用若干个单词组合起来,第个单词的第一个字母要大小,变量名一般用小写,方法名的第一个字母用小写,常量名全用大写,可用下划线___分开
2.
有六个:byte(1) short(2) int(4) long(8) float(4) double(8) 括号里表示其占的字节数
3.类和方法的前面不加关键字,编译器会给它一个默认的关键字default或friendly表示在同一个包在可以访问它.
4.不是很清,不过你可以用StringBuffer类的append()方法追加
5.这两个都是一个位移运算符,都表示右移一位,不同的是""若被移动的数为正数,则最左填为0,否则填为1,而""不管正数负数最左为0,(请注意:这都是在二进制的情况下进行的,了解一下就行了,用得不多)
6.
public class Max{
static int max=0,min=0;
static void swap(int a,int b,int c){
max=ab?a:b;
max=maxc?max:c;
min=ab?a:b;
min=cmin?c:min;
System.out.println(a+" "+b+" "+c+"这三个数的最大值是:"+max);
System.out.println("最小的数是:"+min);
}
public static void main(String[] args){
swap(-1,0,1);//你可以在这里改变它的参数,比较别的数
}
}
7.
public class Factorial{
public static void main(String[] args){
int factorial=10;
for(int i=factorial-1;i0;i--){
factorial=factorial*i;
}
System.out.println("10!="+factorial);
}
}
8.
public class EatPeach
{
public static void main(String[] args)
{
int n=1;
for(int i=10;i0;i--)
{
System.out.println("第"+i+"天吃了"+n+"个桃子");
n=(n+1)*2;
}
}
}
第三部分:
1.类就是整个java程序执行的模块,由成员变量和成员方法(也叫函数)组成
2.修饰符你说的是关键字吧:
public(共用访问符,无能什么地方都可以访问),
private 只能同一个包可以访问
protected 允许子类继承并修改
static 静态存偖区,在程序执行完后才释放内存
final 常量,不能改改的量
主要的就是这几个,当然你的题议还有int double long boolean float 等等这些你应该知道的就不用说了
3.类的构造函数将会在创建类的对像的第一时间得到调用,而普通方法要用对像才能调用,(当然如果是static方法的话也可以用类然直接调用)
4.Math类和Random类
5.
public(共用访问符,无能什么地方都可以访问),
private 只能同一个包可以访问
protected 允许子类继承并修改
final 用在类的前面不能继承它
6.静太成员一般是在程序执行完后才释放内存,反之则是在当前方法完毕就释放,而main就是这个性质来的,要加static
7.抽像类是不能完成某个具体的动作的,也就是一个接口,(注意只要有一个抽像方法在内的类必定定义为抽像类)
非抽像类刚刚相反
8.抽像方法没有方法体,如abstract void f();非抽像方法有方法体如void f(){}
9..(最终类,最终方法,最终属性就是在类,方法和变量的前加final)
含义就是:当放在类前,降低了此类的访问权限,重要的是别的类不能继承它
当放在方法前:表示这个方法不可以修改,更不得覆盖它
当放到变量前:也就是我们讲的常量,你一定晓得是不变的量,这我就不用多说了
10.
class Employee{
private String name;
private int salary,hireDay;
Employee(String name,int salary,int hireDay){
this.name=name;
this.salary=salary;
this.hireDay=hireDay;
}
public String getName(){
return name;
}
public int getSalary(){
return salary;
}
public int getHireDay(){
return hireDay;
}
}
//注:你说的三个私有方法用一个构造器完成要简单一些,如果你一定要那么做,只要把三个参数改成//三个方法就可以了
//11.
public class EmployeeTest{
public static void main(String[] args){
Employee[] e={
new Employee("小明",800,10),
new Employee("小强",600,15),
new Employee("小华",900,12)
};
System.out.println("name "+" salary"+" hireDay");
for(int i=0;ie.length;i++)
System.out.println(e[i].getName()+" "+e[i].getSalary()+
" "+e[i].getHireDay());
}
}
注意你要先编译第一个,第二个才能运行
第四部分:
1.这个题不是很好,意思不够明确,这里我说两种吧多态和覆盖都是继承.当然接口也可以继承,所以我说这个题出得不好!
2.当我们使用关键字extends时就表示一个类继承了另一个类,也就是子类和父类,对于方法来说有下面三种:
(1).方法继承,在子类中不需定义就拥有的父类在的方法
(2).方法的覆盖:是指返回的类型,形式参数和方法名都相同,改变其方法体.
(3).方法的重载:则是方法名相同,形式参数不同的几个方法,如:洗车,洗衣服,有一个是相同的,就是洗这个属性(方法名),不同的是车,衣服(参数),所以我们不必这样说(用洗车的方法来洗车,用洗衣服的方法来洗衣服)就能分开洗车是做什么和洗衣服是做什么,正是如此编译器是通过这种方式来识别调用哪个方法的
(4.abstract class Employee{
abstract int getSalary();
}
class CommonEmployee extends Employee{
private int salary;
CommonEmployee(int salary){
this.salary=salary;
}
public int getSalary(){
return salary;
}
}
class Manager extends Employee{
private int salary;
Manager(int salary){
this.salary=salary;
}
public int getSalary(){
return salary;
}
}
public class SimpleTest1{
public static void main(String[] args){
Employee com=new CommonEmployee(1200);
Employee man=new Manager(2000);
System.out.println("职工的工次是:"+com.getSalary());
System.out.println("经理的工资是:"+man.getSalary());
}
}
5.java的多态性是指:许多类它们有一个共同的特点,我们如果每个特征我们都去写的话会用很多的代码也很麻烦,那么解决这一问题的正是多态性,
那如何解决呢??我们可以把这些相同的特点写成一个接口或抽像类,然后只要有这个特征的类继承它就可以了,其中有一个很经典的例子:画图,我们可以创建一个图形的抽像类,因为三角形啊,正方形啊,都是图形,于是可以继承这个类,于是我们可以用这些图形来继承上面所创建的图形类,如果你不是很理解的话我把这个例子写到下面你仔细看就会明白的:
import java.util.*;
class Shape{
void draw(){}
void erase(){}
}
class Circle extends Shape{
void draw(){
System.out.println("Circle.draw()");
}
void erase(){
System.out.println("Circle.erase");
}
}
class Square extends Shape{
void draw(){
System.out.println("Square.draw()");
}
void erase(){
System.out.println("Square.erase()");
}
}
class Triangle extends Shape{
void draw(){
System.out.println("Triangle.draw()");
}
void erase(){
System.out.println("Triangle.erase()");
}
}
//和以上是组合的关系
class RandomShapeGenerator{
private Random rand=new Random();
public Shape next(){//反回一个对像
switch(rand.nextInt(3)){
default:
case 0:return new Circle();
case 1:return new Square();
case 2:return new Triangle();
}
}
}
public class Shapes{
private static RandomShapeGenerator gen=
new RandomShapeGenerator();
public static void main(String[] args){
Shape[] s=new Shape[9];
for(int i=0;is.length;i++)
s[i]=gen.next();//给引用填对像
for(int i=0;is.length;i++)
s[i].draw();//能过动态帮定调用哪一个方法
}
}
如果还是看不会的话,那么请你打开书好好看抽像类,然后再看看接口,你不会看不懂的,去试试!!!!
6.this和super有一个最易理解的就是this表示当前对像,super表示可以引用父类中的构造函数,
当然它们的功能远远不止这些!这我就不多说了
7.
如果把子类的对像转化为父类中的对像,我们称为向上转型,一般这个好实现也很重要,用得也多,可以创建一个子类对像,然后传给父类的引用,这种说法我不知道科不科学,也很不好理解,但事实就是如此,如上面的图形例子中:
Shape next={ new Circle(),
new Square(),
new Triangle()
};
这看起来每个类的对像都给了同一个父类(Shape),这有一个问题它们表示同一对像吗?你看以把它们看成同一引用,然后事不是你想的这样,next[1].draw(),next[1].draw(),next[2].draw()它们调的并不是同一个方法,而分别调用的是Circle Square Triangle的中的draw()方法,你可以亲自运行上面的事例就知道了,好了有点说得多了,如果有问题的话加我QQ吧460566995
8.默认构造函数是指在我们没有构造函数时编译器自动帮我们加上一个构造函数一般为:类(){},它没有任何参数,也没有方法体
好了,我手都写软了,就给你答这么多吧,还有没有答完的希望后者能补上谢谢,我这两天也没有时间了,
如果没有人答你又一定要要的话可以加我的QQ问我好了,好好看里面有我的QQ的
如何用java读取文件并统计文件的大小写字母,数字,特殊字符的个数
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class Test {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new FileReader("c:/test.txt"));
StringBuilder sb = new StringBuilder();
while (true) {
String line = br.readLine();
if (line == null)
break;
sb.append(line);
}
br.close();
String content = sb.toString();
System.out.println("Character count is:" + (content.length() - content.replaceAll("[a-zA-Z]", "").length()));
System.out.println("Number count is:" + (content.length() - content.replaceAll("[0-9]", "").length()));
System.out.println("Special count is :" + content.replaceAll("[\\w ]", "").length());
}
}
----------------------------------
c盘下新建个test.txt文件,内容:
abc123!@#
----------------------------------
输出:
Character count is:3
Number count is:3
Special count is :3
利用Java语言代码输入一行字符分别统计其中英文字母、空格、数字和其他字符的个数。
123456789101112131415161718192021222324
public static void main(String[] args) throws IOException { BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); String str=br.readLine(); int countNum = 0;//统计数字的个数 int countChar = 0;//统计英文字母的个数 int countSpace = 0;//统计空格的个数 int countOthers = 0;//统计其它字符的个数 for (int i = 0; i str.length(); i++) { char c = str.charAt(i); if (c = '0' (int) c = '9') { countNum++; } else if ((c = 'a' c = 'z')||(c = 'A' c = 'Z')) { countChar++; } else if (c == ' ') { countSpace++; } else{ countOthers++; } } System.out.println("数字个数:"+countNum); System.out.println("英文字母个数:"+countChar); System.out.println("空格个数:"+countSpace); System.out.println("其他字符个数:"+countOthers); }
一、问题分析:
输入一行字母,那么会以换行结束。所以可以存入数组,也可以逐个输入,遇到换行结束。
要统计各个类的个数,就要逐个判断是哪个分类的。
由于在ASCII码中,数字,大写字母,小写字母分别连续,所以可以根据边界值判断类型。
二、算法设计:
1、读入字符,直到遇到换行结束。
2、对于每个字符,判断是字母还是数字,或者空格,或者是其它字符。
3、对于每个字符判断后,对应类别计数器自加。
4、最终输出结果。
java怎么统计字符串内的标点符号?
在java中可以使用正则表达式来方便地统计一个字符串中出现的标点符号的个数,思路是:
1、先记录统计前的字符串长度
2、使用正则表达式把需要统计的标点符号清除掉
3、使用第1步里保存的长度-第2步获得的字符串的长度,即可得到标点符号的的个数
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
public static void main (String[] args) throws java.lang.Exception
{
String str = "这是;一段;测试文本,用来测试能不能去除掉标点符号。本例子只统计逗号句号和分号。 ";
int istr = str.length();
System.out.println("str的长度是:" + istr);
String str1 = str.replaceAll("[,。;]", "");
int istr1 = str1.length();
System.out.println("str1的长度是:" + istr1);
System.out.println("标点符号的个数是:" + (istr - istr1));
}
}
执行结果:
str的长度是:41
str1的长度是:36
标点符号的个数是:5
关于java计数特殊字符和java字符串计数的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-11-28,除非注明,否则均为
原创文章,转载请注明出处。