初学Java必写的小程序。
1、矩形面积,周长封装测试。
/**
* @author Administrator
*封装好的矩形类
*自己私有的长宽属性
*开放 求面积求周长的方法 和设置长宽的方法
*/
public class Jx {
// 自己的属性长 私有的属性private
private int chang;
// 自己的属性宽
private int kuan;
//构造我这个矩形 开放的方法public
public Jx(int chang, int kuan) {
this.chang = chang;
this.kuan = kuan;
}
//求面积的方法
public int getMianji(){
return chang*kuan;
}
//求周长的方法
public int getZhouchang(){
return (chang+kuan)*2;
}
//得到矩形的长
public int getChang() {
return chang;
}
//设置长
public void setChang(int chang) {
this.chang = chang;
}
public int getKuan() {
return kuan;
}
public void setKuan(int kuan) {
this.kuan = kuan;
}
}
测试:
public class TestJx {
public static void main(String[] args) {
//生成一个矩形的实例 传入一个长度和宽度过去
Jx jx=new Jx(5,6);
//求他的面积 周长 拿到他的长度 和宽度
System.out.println(jx.getMianji());
System.out.println(jx.getZhouchang());
System.out.println(jx.getChang());
System.out.println(jx.getKuan());
}
}
2、输入一个字符串,统计元音个数。
import java.util.Scanner;
public class YuanYin {
public static void main(String[] args) {
System.out.println("请输入一个字符串:");
Scanner input =new Scanner(System.in); /*从控制台输入*/
String s= input.next();/*输入一个字符*/
int count=0;/*定义变量,不用不出错,一用就出错所以要赋初始值*/
for (int i = 0; i < s.length(); i++) {
char a=s.charAt(i);/*表示每一个字母的位置*/
if (a=='a'||a=='e'||a=='i'||a=='o'||a=='u') {
count++;/*统计个数*/
}
}
System.out.println("元音的个数为:"+count);
}
}
3、回文数
public class HuiWenShu {
public static void main(String[] args) {
for (int i = 10000; i < 100000; i++) {
int a,b,c,d,e;
a=i/10000;
b=i%10000/1000;
c=i%1000/100;
d=i%100/10;
e=i%10;
if (a==e&b==d) {
System.out.println(i+"是回文数");
}
}
}
}
回文数加强版
import java.util.Scanner;
public class HWSPlus {
public static void main(String[] args) {
HWSPlus hws=new HWSPlus();
System.out.println("请输入一个五位数:");
//类名 实例名 = new 类名();
Scanner input=new Scanner(System.in);
int i=input.nextInt();
hws.hws(i);
}
public void hws(int i){
int a,b,c,d,e;
a=i/10000;
b=i%10000/1000;
c=i%1000/100;
d=i%100/10;
e=i%10;
if (a==e&&b==d) {
System.out.println(i+"是回文数");
}
}
}
4、水仙花数
public class ShuixianHua {
public static void main(String[] args) {
for (int i = 0; i < 1000; i++) {
int a,b,c;
a=i/100;
b=i%100/10;
c=i%10;
if (a*a*a+b*b*b+c*c*c==i) {
System.out.println(i+"是水仙花數");
}
}
}
}
5、九九乘法表
public class JJCFB {
public static void main(String[] args) {
System.out.println("九九乘法表正这来");
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= i; j++) {
System.out.print(j + "*" + i + "=" + j * i + "\t");
}
System.out.println();
}
System.out.println("九九乘法表逆这来");
for (int i = 9; i >= 1; i--) {
for (int j = 1; j <= i; j++) {
System.out.print(j + "*" + i + "=" + j * i + "\t");
}
System.out.println();
}
}
}
6、一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
public class Qiu {
public static void main(String[] args) {
int g=100,tq=50;
int total=0+100;
for (int i = 0; i < 10; i++) {
total=total+2*tq;
tq=tq/2 ;
}
System.out.println(total);
System.out.println(tq);
}
}
7、求1+2!+3!+...+20!的和
public class JieCheng {
public static void main(String[] args) {
int sum=0;
for (int i = 1; i <= 20; i++) {
sum+=jc(i);
}
System.out.println("1到20的阶乘是:"+sum);
}
public static int jc(int i){
if (i>1) {
return i*jc(i-1);
}
else{
return 1;
}
}
}
8验证身份证是否合法。
import java.util.Scanner;
public class Sfzjs {
public static void main(String[] args) {
System.out.println("请输入您的身份证号码:");
Scanner input = new Scanner(System.in);
String i = input.next();
int count = i.length();
System.out.println("身份证位数为:"+count);
if (count==18||count==15) {
System.out.println("合法");
}
else{
System.out.println("不合法");
}
}
}
9、邮箱验证
import java.util.Scanner;
/**
* 1234@qq.com 必须要包含@和.
*
* @前必须要有七位
* @.只有一个 必须由.org .cn .com 结尾
* @和.不能连续
*
* 验证邮箱1234@qq.com ①必须要包含@和. indexof ②@前必须要有七位 split @ 0的长度是否大于7 ③@.只有一个
* indexof==lastindexof ④必须由.org .cn .com 结尾 endswith ⑤@和.不能连续 contains @.
*/
public class Yxyz {
public static void main(String[] args) {
Scanner sca = new Scanner(System.in);
String s = sca.nextLine();
// String s = "12356724@qq.cn";
// tring if (s.indexOf("@") == -1) {
// System.out.println("必须包含@");
// }
// String []strs=s.split(",");//1 2 3@
// for (int i = 0; i < strs.length; i++) {
// System.out.println(strs[i]);
// }
String[] strs = s.split("@");
if (strs[0].length() < 7) {
System.out.println("@前必须大于7位");
}
pd(s, "@");
pd(s, ".");
if (!(s.endsWith(".org") || s.endsWith(".cn") || s.endsWith(".com"))) {
System.out.println("必须以指定格式结尾");
}
if (s.contains("@.") || s.contains(".@")) {
System.out.println("@.不能连续");
}
}
/**
* 传入原始的字符串 和判断字符串 打印是否包含此字符串
* @param s
* @param str
*/
private static void pd(String s, String str) {
int index = s.indexOf(str);
// System.out.println(index);
int lastindex = s.lastIndexOf(str);
// System.out.println(lastindex);
if (index != lastindex) {
System.out.println(str + "仅有一个");
}
}
}
10、冒泡排序
import java.util.Arrays;
public class BJdx {
public static void main(String[] args) {
//1.定义一组数组
int[] arr = { 23, 4, 6, 78, 12 };
//2.对数组排序
arr = SF.sort(arr);
//3.打印数组
System.out.println(Arrays.toString(arr));
}
}
class SF{
/**
* 给定一个数组,返回一个排好序的数组
* @param arr 带排序的数组
* @return 排序完成的数组
*/
public static int[] sort(int[] arr){
//如果arr为null或者空,则返回空数组
if(arr==null||arr.length==0)
return new int[]{};
//循环遍历数组元素
for (int i = 0; i < arr.length; i++) {
//循环遍历i之后的元素
for (int j = i; j < arr.length; j++) {
//比较该轮元素是否比第i个元素小,如果小,则交换
if(arr[j] < arr[i]){
int tmp = arr[i];
arr[i] = arr[j];
arr[j] = tmp;
}
}
}
//返回排好序的数组
return arr;
}
}
11、统计劝学中的,。
public class SavaQX {
public static void main(String[] args) {
String s = " 青,取之于蓝而青于蓝;冰,水为之而寒于水。木直中绳,輮(左应为'车',原字已废除)以为轮,其曲中规。虽有槁暴,不复挺者,輮使之然也。故木受绳则直,金就砺则利,君子博学而日参省乎己,则知明而行无过矣。 故不登高山,不知天之高也;不临深溪,不知地之厚也;不闻先王之遗言,不知学问之大也。干、越、夷、貉之子,生而同声,长而异俗,教使之然也。 曰:“嗟尔君子,无恒安息。靖共尔位,好是正直。神之听之,介尔景福。”神莫大于化道,福莫长于无祸。吾尝终日而思矣,不如须臾之所学也;吾尝跂而望矣,不如登高之博见也。登高而招,臂非加长也,而见者远;顺风而呼,声非加疾也,而闻者彰。假舆马者,非利足也,而致千里;假舟楫者,非能水也,而绝江河。君子生非异也,善假于物也。南方有鸟焉,名曰蒙鸠,以羽为巢,而编之以发,系之苇苕,风至苕折,卵破子死。巢非不完也,所系者然也。西方有木焉,名曰射干,茎长四寸,生于高山之上,而临百仞之渊,木茎非能长也,所立者然也。蓬生麻中,不扶而直;白沙在涅,与之俱黑。兰槐之根是为芷,其渐之滫,君子不近,庶人不服。其质非不美也,所渐者然也。故君子居必择乡,游必就士,所以防邪辟而近中正也。物类之起,必有所始。荣辱之来,必象其德。肉腐出虫,鱼枯生蠹。怠慢忘身,祸灾乃作。强自取柱,柔自取束。邪秽在身,怨之所构。施薪若一,火就燥也,平地若一,水就湿也。草木畴生,禽兽群焉,物各从其类也。是故质的张,而弓矢至焉;林木茂,而斧斤至焉;树成荫,而众鸟息焉。醯酸,而蚋聚焉。故言有招祸也,行有招辱也,君子慎其所立乎!积土成山,风雨兴焉;积水成渊,蛟龙生焉;积善成德,而神明自得,圣心备焉。故不积跬步,无以至千里;不积小流,无以成江海。骐骥一跃,不能十步;驽马十驾,功在不舍。锲而舍之,朽木不折;锲而不舍,金石可镂。蚓无爪牙之利,筋骨之强,上食埃土,下饮黄泉,用心一也。蟹六跪而二螯,非蛇鳝之穴无可寄托者,用心躁也。是故无冥冥之志者,无昭昭之明;无惛惛之事者,无赫赫之功。行衢道者不至,事两君者不容。目不能两视而明,耳不能两听而聪。螣蛇无足而飞,鼫鼠五技而穷。《诗》曰:“尸鸠在桑,其子七兮。淑人君子,其仪一兮。其仪一兮,心如结兮!”故君子结于一也。昔者瓠巴鼓瑟,而流鱼出听;伯牙鼓琴,而六马仰秣。故声无小而不闻,行无隐而不形 。玉在山而草润,渊生珠而崖不枯。为善不积邪?安有不闻者乎? 学恶乎始?恶乎终?曰:其数则始乎诵经,终乎读礼;其义则始乎为士,终乎为圣人, 真积力久则入,学至乎没而后止也。故学数有终,若其义则不可须臾舍也。为之,人也;舍 之,禽兽也。故书者,政事之纪也;诗者,中声之所止也;礼者,法之大分,类之纲纪也。 故学至乎礼而止矣。夫是之谓道德之极。礼之敬文也,乐之中和也,诗书之博也,春秋之微 也,在天地之间者毕矣。 君子之学也,入乎耳,着乎心,布乎四体,形乎动静。端而言,蝡而动,一可以为法则。小人之学也,入乎耳,出乎口;口耳之间,则四寸耳,曷足以美七尺之躯哉!古之学者为己,今之学者为人。君子之学也,以美其身;小人之学也,以为禽犊。故不问而告谓之傲,问一而告二谓之囋。傲、非也,囋、非也;君子如向矣。";
int conut = 0;
int conut1 = 0;
for (int i = 0; i < s.length(); i++) {
char c = s.charAt(i);
if (c == ',') {
conut++;
}
if (c == '。') {
conut1++;
}
}
System.out.println(",的个数为" + conut);
System.out.println("。的个数为" + conut1);
}
}
13、构造一个People方法
/**
*
* 姓名name、性别gender、年龄age
*
*/
public class People {
private String name;
private int age;
private boolean gender;
public static void walk(String name) {
System.out.println(name + "正在走路");
}
public static void eat(String name) {
System.out.println(name + "正在吃饭");
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public boolean isGender() {
return gender;
}
public void setGender(boolean gender) {
this.gender = gender;
}
}
public class TestPeople {
public static void main(String[] args) {
People p=new People();
p.walk("lucy");
p.eat("李四");
}
}