[ Java学习 ] 一些Java程序 002
这篇是 [ Java学习 ] 一些Java程序 001 的承接:
001的链接如下(可直接点击:)
//可以把1个String类的对象作为 Scanner 的构造函数的参数 import java.util.*; public class test { public static void main(String[] args) { String cost= " TV cost 877 dollar,Computer cost 2398"; Scanner scanner = new Scanner(cost); double sum=0; while(scanner.hasNext()){ try{ double price=scanner.nextDouble(); sum=sum+price; System.out.println(price); } catch(InputMismatchException exp){ String t=scanner.next(); } } System.out.println("总消费:"+sum+"元"); } }
import java.util.Scanner; public class test{ public static void main(String args[ ]){ Scanner reader=new Scanner(System.in); String s=reader.nextLine(); char a[]=s.toCharArray(); for(int i=0;i<a.length;i++){ a[i]=(char)(a[i]^'w'); } String secret=new String(a); System.out.println("密文:"+secret); for(int i=0;i<a.length;i++){ a[i]=(char)(a[i]^'w'); } String code=new String(a); System.out.println("原文:"+code); } }
public class test{ public static void main(String args[ ]){ StringBuffer str=new StringBuffer("0123456789"); str.setCharAt(0 ,'a'); str.setCharAt(1 ,'b'); System.out.println(str); str.insert(2, "**"); System.out.println(str); str.delete(6,8); System.out.println(str); } }
public class test{ public static void main(String args[ ]){ byte d[]="YOUIHE你我他".getBytes(); System.out.println("数组d的长度是(一个汉字占两个字节):"+d.length); String s=new String(d,6,2); System.out.println(s); } }
import java.util.Date; public class test{ public static void main(String args[ ]){ Date date=new Date(); Student stu=new Student("张三",89); TV tv=new TV("电视机",8776); System.out.println(date.toString()); System.out.println(stu.toString()); System.out.println(tv.toString()); } } class Student{ String name; double score; Student(String name,double score){ this.name=name; this.score=score; } public String toString(){ return "姓名:"+name+",分数:"+score; } } class TV{ String name; double price; TV(String name,double price){ this.name=name; this.price=price; } }
/* 这段代码里,也是用到了正则表达式,为了看懂 scanner.useDelimiter("[^0123456789.]+"); 这句代码,我查阅了两个链接: * https://zhidao.baidu.com/question/83292016.html * http://www.cnblogs.com/yirlin/archive/2006/04/12/373222.html */ import java.util.*; public class test { public static void main(String args[]) { String cost = "市话费:176.89元,长途费:187.98元,网络费:928.66元"; Scanner scanner = new Scanner(cost); scanner.useDelimiter("[^0123456789.]+"); double sum=0; while(scanner.hasNext()){ try{ double price=scanner.nextDouble(); sum=sum+price; System.out.println(price); } catch(InputMismatchException exp){ String t=scanner.next(); } } System.out.println("总通信费用:"+sum+"元"); } }
//同样也是用到了正则表达式,不过也是可以通过百度,弄懂为什么会有这样的输出的 import java.util.Scanner; public class test { public static void main (String args[ ]){ System.out.println("一行文本:"); Scanner reader=new Scanner(System.in); String str= reader.nextLine(); //空格字符、数字和符号(!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~)组成的正则表达式: String regex="[\\s\\d\\p{Punct}]+"; String words[]=str.split(regex); for(int i=0;i<words.length;i++){ int m=i+1; System.out.println("单词"+m+":"+words[i]); } } }
//还是正则表达式 public class test { public static void main (String args[ ]) { String str= "请登录:http://www.cctv.cn看电视"; String regex="(http://|www)[.]?\\w+[.]{1}\\w+[.]{1}\\p{Alpha}+"; String newStr=str.replaceAll(regex,""); System.out.println(str); System.out.println(newStr); } }
//这个也是正则,不过比前面几段代码略简单一些 import java.util.Scanner; public class test { public static void main (String args[ ]) { String regex = "[a-zZ-Z]+"; Scanner scanner = new Scanner(System.in); System.out.println("输入一行文本(输入#结束程序):"); String str = scanner.nextLine(); while(str!=null) { if(str.matches(regex)) System.out.println(str+"中的字符都是英文字母"); else System.out.println(str+"中含有非英文字母"); System.out.println("输入一行文本(输入#结束程序):"); str = scanner.nextLine(); if(str.startsWith("#")) System.exit(0); } } }
import java.util.*; public class test{ public static void main(String args[ ]){ String []mess={"整数部分","小数部分"}; Scanner reader=new Scanner(System.in); double x=reader.nextDouble(); String s=String.valueOf(x); StringTokenizer fenxi=new StringTokenizer(s,"."); for(int i=0;fenxi.hasMoreTokens();i++){ String str=fenxi.nextToken(); System.out.println(mess[i]+":"+str); } } }
-------------------------------其他相关文章------------------------------
[Java学习 ] 类的其他文章汇总(都是超链接,可直接点击):
[Java学习 ] 破除思维定势之 C++ 和 Java 的差异 001
[Java学习 ] 破除思维定势之 C++ 和 Java 的差异 002
[Java学习 ] 破除思维定势之 C++ 和 Java 的差异 003
[Java学习 ] “goto语句“ 和 “continue + 标号” 的不同待遇
[Java学习 ] toString方法 和 equals方法