Java语言程序设计基础(2)【方法】
来源:互联网 发布:mac 终端 重命名文件 编辑:程序博客网 时间:2024/06/02 07:12
方法(method)
1.概念
- 调用:系统将参数和局部变量存储在堆栈(后进先出)中,当一个方法调用另一个方法时,调用者的堆栈空间不变,一个方法结束调用的时候,相应空间也被释放。
- 值传递:调用方法时需要提供实参,必须与形参的次序相同。不论方法如何作用,实参本身不会发生变化。
- 重载:创建另一个方法名相同但是参数不同的方法。被重载的方法必须具有不同的参数列表。不能给予不同修饰符或返回值类型来重载方法。
2.几个简单程序:
- 产生一个a-z之间的随机字符语句如下:
(char)('a'+Math.random()*('z'-'a'+1));
- 随机显示字符的程序如下:
第一步:定义一个类,用来随机获取某种类型的字符,可以在后面的项目中使用它
public class RandomCharacter { public static char getRamdomCharacter(char ch1,char ch2){ return (char)(ch1 + Math.random()*(ch2 - ch1 +1)); } public static char getRandomLowerCaseLetter(){ return getRamdomCharacter('a','z'); } public static char getRandomUpperCaseLetter(){ return getRamdomCharacter('A','Z'); } public static char getRandomDigitCharacter(){ return getRamdomCharacter('0','9'); } public static char getRandomCharacter(){ return getRamdomCharacter('\u0000','\uFFFF'); }}
第二步:一个小的测试程序,显示随机100个小写字母:
public class TestRandomCharacter { public static void main(String[] args){ final int NUMBER_OF_CHARS = 100; final int CHARS_PER_LINE = 10; for(int i = 0; i < NUMBER_OF_CHARS ;i++){ char ch = RandomCharacter.getRandomLowerCaseLetter(); if((i+1) % CHARS_PER_LINE == 0) System.out.println(ch); else System.out.print(ch); } }}
- 计算从a到b之间的数字和
public class Sum{ public static int SumNumber(int i1,int i2){ int sum = 0; for(int i = i1;i<=i2;i++) sum+= i; return sum; } public static void main(String[] args){ System.out.println("Sum of 20,30 is " + SumNumber(20,30) ); }}
- 比较两个整形数之间哪个更大(Max)对于浮点数进行比较的话,可以通过重载来实现。
import java.util.Scanner;public class Max { public static void main(String[] args){ System.out.println("Please input two numbers!"); Scanner input = new Scanner(System.in); int a = input.nextInt(); int b = input.nextInt(); int k = Max(a,b); System.out.println("The maximum of " + a +" and " + b + " is " + k); } public static int Max(int i1,int i2){ if(i1>i2) return i1; else return i2; }}
- 调换两个数的顺序
import java.util.Scanner;public class Swap { public static void main(String[] args){ System.out.println("Enter two numbers:"); Scanner input = new Scanner(System.in); int a = input.nextInt(); int b = input.nextInt(); System.out.println("Before swapping is " + a +" and " + b); Swap(a,b); } public static void Swap(int i1,int i2){ int temp; temp = i1; i1 = i2; i2 = temp; System.out.println("After the swap is "+ i1 + " and " + i2); }}
- 求最大公约数(普通的方法)
import java.util.Scanner;public class GreatestCommonDivisorMethod{ public static void main(String [] args){ System.out.println("Please enter two numbers:"); Scanner input = new Scanner(System.in); int i1 = input.nextInt(); int i2 = input.nextInt(); int result = gcd(i1,i2); System.out.println("The greatest common divisor for" + i1 + " and "+ i2+" is " + result); } public static int gcd(int n1,int n2){ int gcd=1; int k = 2; while(k <= n1 && k <= n2){ if(n1 % k == 0 && n2 % k == 0) gcd = k; k++; } return gcd; }}
- 判断质数
import java.util.Scanner;public class PrimeMethod { public static void main(String[] args){ System.out.println("Enter a number:"); Scanner input = new Scanner(System.in); int n = input.nextInt(); boolean flag = Prime(n); if(flag ==false) System.out.println( n + " is not a prime number."); else System.out.println( n + " is prime number."); } public static boolean Prime(int i){ double k = Math.sqrt(i); int m = (int)k; for(int j = 2; j <= m ; j++){ if(i % j == 0) return false; } return true; }}
- 十进制和十六进制转换
import java.util.Scanner;public class Decimal2HexConversion { public static void main(String[] args){ Scanner input = new Scanner(System.in); System.out.println("Enter a number:"); int n = input.nextInt(); String result; result = decimalToHex(n); System.out.println(result); } public static String decimalToHex(int decimal){ String hex = ""; while(decimal!=0){ int hexValue = decimal % 16; hex = toHexChar(hexValue) + hex; decimal /= 16; } return hex; } public static char toHexChar(int hexValue){ if(hexValue <= 9 && hexValue >=0) return (char)(hexValue + '0'); else return (char)(hexValue - 10 + 'a'); }}
- 五角数N*(3N-1)/2;
public class getPentagonalNumber { public static void main(String[] args){ int k =1; int count = 0; for(int i = 1;i <= 100; i++) { k = getPentagonalNumberMethod(i); System.out.println(k); if(count<9) count++; else{ System.out.println("\n"); count = 0;} } } public static int getPentagonalNumberMethod(int n){ return n*(3*n-1)/2; }}
- 判断一个数是否为回文数(例如121,12321)
import java.util.Scanner;public class IsReverse { public static int reverseMethod(int num){ int digit = 0;//表示位数 int cal = num; while(cal>9){ cal/=10; digit++; } int rev = 0;//倒置的数 int a;//级数 for (int i = digit; i>-1 ;i--){ a = (int)Math.pow(10,i); rev += (num%10) * a; num /= 10; } return rev; } public static boolean isPalindrom(int number){ int reversenumber; reversenumber = reverseMethod(number); if(number == reversenumber) return true; else return false; } public static void main(String[] args){ int num; System.out.println("Enter a number:"); Scanner input = new Scanner(System.in); num = input.nextInt(); boolean result = isPalindrom(num); if(result == true) System.out.println(num + " is palindrom."); else System.out.println(num + " isn`t palindrom."); }}
- 输入三个边,判断其是否能组成三角形,如果能的话,求面积
import java.util.Scanner;public class MyTriangle { public static boolean isValid(double side1,double side2,double side3){ return ((side1 + side2)>side3)&&((side1-side2)<side3); } public static double area(double side1,double side2,double side3){ double s,area; s = (side1 + side2 + side3)/2; area = Math.sqrt(s * (s-side1) * (s - side2) * (s - side3)); return area; } public static void main(String[] args){ System.out.println("Enter three sides:"); Scanner input = new Scanner(System.in); double s1,s2,s3; s1 = input.nextDouble(); s2 = input.nextDouble(); s3 = input.nextDouble(); double trianglearea; boolean result = isValid(s1,s2,s3); if(result){ trianglearea = area(s1,s2,s3); System.out.println("Area of " + s1 + " " + s2 + " " +s3 + " is " + trianglearea); } else System.out.println("It is not a triangle."); }}
0 0
- Java语言程序设计基础(2)【方法】
- Java语言程序设计基础(1)
- Java语言程序设计基础(一)
- Java语言程序设计基础(5)【字符串】
- Java语言程序设计(基础篇)第十版
- Java语言程序设计(基础篇)第十版
- Java语言程序设计(基础篇)第十版
- Java语言程序设计(基础篇)课后答案
- JAVA语言程序设计(基础篇)第十版
- JAVA语言程序设计 基础篇 读书笔记(前两章)
- 《java语言程序设计基础篇》
- java语言程序设计-基础篇
- Java语言程序设计2(20)
- Java语言程序设计2(37)
- Java语言程序设计2(18)
- 基础c语言程序设计2
- C语言程序设计(基础2)
- java语言程序设计(基础篇) 第2章 基本程序设计 课本源代码
- join左右数组
- iOS 使用AVAudioPlayer开发录音功能
- 监听文本框输入
- 一个程序员的自我修养
- (六)观察者模式详解(包含观察者模式JDK的漏洞以及事件驱动模型)
- Java语言程序设计基础(2)【方法】
- 内存一致模型——顺序一致模型
- SVM算法推导
- 很实用的linux的搜索命令
- 文章标题
- Objective-C 内存管理
- 前端面试题第四套
- 《C++ Primer Plus(第六版)》(20)(第十一章 使用类 编程题答案1)
- 文件操作