ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Java基础day03-方法

2021-04-25 22:01:37  阅读:277  来源: 互联网

标签:Java String day03 top else ++ str 方法 public


方法

定义类方法才能直接调用

类方法(+static)

修饰符 返回值类型(空:void) 方法名(参数类型(形参、实参) 参数名){

方法体

}

简单的比大小装置

import java.util.Scanner;
public class demo {
public static void bidaxiao() {
    System.out.println("请输入");
    Scanner scanner = new Scanner(System.in);
    int a = scanner.nextInt();
    int b =4;
    if (a > b) {
        System.out.println("max:a");
    } else if (a<b){
        System.out.println("max:b");
    }else{
        System.out.println("same");
    }
}

public static void main(String[] args) {
    bidaxiao();
}
}

重载


重载就是在一个类中,有相同的函数名称,但是形参不同的函数。
//           1. 方法名称必相同
//           2.参数列表必须不同
//           3.饭分会类型可以不同也可以相同
//           4.仅仅返回值类型不同不足以成为方法的重载
//           5.方法名相同时编译器会调用方法的参数个数参数类型等去逐一匹配

可变参数

在参数声明后加一个省略号(...)

一个方法中只能指定一个可变参数,它必须是方法的最后一个参数,任何普通的参数必须在它之前声明

public class Demo {
public static void test(int x,int...b){
    for (int i = 0; i < 10; i++) {
        System.out.println(b[i]);
    }
}
public static void main(String[] args) {
    Demo demo = new Demo();
    demo.test(1,2,3,4,5,6,7,8,9,10,11);
}
}

求最大值玩一下

public class Demo {
public static void main(String[] args) {
    test(1,2,3,4,5,6,7,8,9);

}
public static void test(int...a){
    int result=a[0];
    for (int i = 0; i < a.length; i++) {
        if(a[i]>result){
            result=a[i];
        }
    }
    System.out.println(result);
    }

}

递归!!!!

优点:递归可以调用本身来减少代码量,将复杂问题层层转换为小问题解决

递归头(什么时候不调用自身方法,没有头就会陷入死循环)

递归体(什么时候要调用自身方法)

阶乘

public class Demo {
public static int f(int n){
    if(n==1){
        return 1;
    }else{
        return n*f(n-1);
    }
}
public static void main(String[] args) {
    System.out.println(f(3));
}

}

小测验

完成一个计算器编码的实现,不要求写出界面,但要有实现加减乘除

采用循环+switch进行用户交互

import javax.swing.; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class Calculator extends JFrame implements ActionListener { private String[] KEYS={"7","8","9","","4","5","6","-","1","2","3","+","0","e","π","÷","c","%",".","=","(",")","sqr","xx"}; private JButton keys[]=new JButton[KEYS.length]; private JTextField resultText = new JTextField("0.0"); private String b=""; public Calculator() { super("计算器"); this.setLayout(null); resultText.setBounds(20, 5, 255, 40); resultText.setHorizontalAlignment(JTextField.RIGHT); resultText.setEditable(false); this.add(resultText); int x=20,y=55; for (int i=0;i<KEYS.length;i++) { keys[i] = new JButton(); keys[i].setText(KEYS[i]); keys[i].setBounds(x, y, 60, 40); if(x<215) { x+=65; } else { x = 20; y+=45; } this.add(keys[i]); } for (int i = 0; i <KEYS.length; i++) { keys[i].addActionListener(this); } this.setResizable(false); this.setBounds(500, 200, 300, 400); this.setDefaultCloseOperation(EXIT_ON_CLOSE); this.setVisible(true); } public void actionPerformed(ActionEvent e) { String label = e.getActionCommand(); if (label=="c"||label=="=") { if(label=="=") { String s[]=yunsuan(this.b); String result=Result(s); this.b=result+""; resultText.setText(this.b); } else { this.b=""; resultText.setText("0"); } } else if (label=="sqr") { String n=yunsuan2(this.b); resultText.setText(n); this.b=n; } else if(label=="xx") { String m=yunsuan3(this.b); resultText.setText(m); this.b=m; } else if(label=="e"||label=="π") { if (label=="e") { String m=String.valueOf(2.71828); this.b=this.b+m; resultText.setText(this.b); } if (label=="π") { String m=String.valueOf(3.14159265); this.b=this.b+m; resultText.setText(this.b); } } else { this.b=this.b+label; resultText.setText(this.b); } } private String[] yunsuan(String str) { String s=""; char a[]=new char[100]; String jieguo[]=new String[100]; int top=-1,j=0; for (int i=0;i<str.length();i++) { if ("0123456789.".indexOf(str.charAt(i))>=0) { s=""; for (;i<str.length()&&"0123456789.".indexOf(str.charAt(i))>=0;i++) { s=s+str.charAt(i); } i--; jieguo[j]=s; j++; } else if ("(".indexOf(str.charAt(i))>=0) { top++; a[top]=str.charAt(i); } else if (")".indexOf(str.charAt(i))>=0) { for (;;) { if (a[top]!='(') { jieguo[j]=a[top]+""; j++; top--; } else { top--; break; } } } else if ("%÷".indexOf(str.charAt(i))>=0) { if (top==-1) { top++; a[top]=str.charAt(i); } else { if ("%÷".indexOf(a[top])>=0) { jieguo[j]=a[top]+""; j++; a[top]=str.charAt(i); } else if ("(".indexOf(a[top])>=0) { top++; a[top]=str.charAt(i); } else if ("+-".indexOf(a[top])>=0) { top++; a[top]=str.charAt(i); } } } else if ("+-".indexOf(str.charAt(i))>=0) { if (top==-1) { top++; a[top]=str.charAt(i); } else { if ("%÷".indexOf(a[top])>=0) { jieguo[j]=a[top]+""; j++; a[top]=str.charAt(i); } else if ("(".indexOf(a[top])>=0) { top++; a[top]=str.charAt(i); } else if ("+-".indexOf(a[top])>=0) { jieguo[j]=a[top]+""; j++; a[top]=str.charAt(i); } } } } for (;top!=-1;) { jieguo[j]=a[top]+""; j++; top--; } return jieguo; } public String yunsuan2(String str) { String result=""; double a=Double.parseDouble(str),b=0; b=Math.sqrt(a); result=String.valueOf(b); return result; } public String yunsuan3(String str) { String result=""; double a=Double.parseDouble(str),b=0; b=Math.pow(a, 2); result=String.valueOf(b); return result; } public String Result(String str[]) { String Result[]=new String[100]; int Top=-1; for (int i=0;str[i]!=null;i++) { if ("+-%÷".indexOf(str[i])<0) { Top++; Result[Top]=str[i]; } if ("+-%÷".indexOf(str[i])>=0) { double x,y,n; x=Double.parseDouble(Result[Top]); Top--; y=Double.parseDouble(Result[Top]); Top--; if ("-".indexOf(str[i])>=0) { n=y-x; Top++; Result[Top]=String.valueOf(n); } if ("+".indexOf(str[i])>=0) { n=y+x; Top++; Result[Top]=String.valueOf(n); } if ("".indexOf(str[i])>=0) { n=y*x; Top++; Result[Top]=String.valueOf(n); } if ("÷".indexOf(str[i])>=0) { if (x==0) { String s="ERROR"; return s; } else { n=y/x; Top++; Result[Top]=String.valueOf(n); } } if ("%".indexOf(str[i])>=0) { if (x==0) { String s="ERROR"; return s; } else

             {
                n=y%x;
                Top++;
                Result[Top]=String.valueOf(n);
            }
        }
    }
}
return Result[Top];
}
public static void main(String arg[])
{
Calculator a=new Calculator();
}

}

———————————————— 原文链接:https://blog.csdn.net/qq_41398808/article/details/79558789

标签:Java,String,day03,top,else,++,str,方法,public
来源: https://www.cnblogs.com/biggoat/p/14702242.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有