(java)按输入行数打印三角形
java三角函数运算代码

java三角函数运算代码Java三角函数是指在Java编程语言中提供的三角函数方法,包括正弦函数(sin),余弦函数(cos)和正切函数(tan)。
这些三角函数方法可用于求解各种数学问题和物理学问题,例如计算角度、计算距离和角度的夹角等等。
在这篇文档中,我们将介绍如何在Java中使用三角函数方法进行运算,并提供一些例子展示其用法。
Java三角函数的使用在Java中,我们可以通过ng.Math类中提供的三角函数方法进行运算,如下所示:``` Math.sin(double a) //计算角度a的正弦值Math.cos(double a) //计算角度a的余弦值Math.tan(double a) //计算角度a的正切值Math.asin(double a) //计算正弦值为a的角度Math.acos(double a) //计算余弦值为a的角度Math.atan(double a) //计算正切值为a的角度Math.atan2(double y, double x) //返回从X轴到点(x,y)的角度(以弧度为单位) Math.toDegrees(double angrad) //用于将角度从弧度转换为角度值Math.toRadians(double angdeg) //用于将角度从角度值转换为弧度 ```这些方法使用double类型的参数,接受的参数范围为-π/2到π/2,或者是-π到π。
需要注意的是,输入参数是以弧度为单位,而非角度。
因此,如果我们需要将角度转换为弧度,可以使用toRadians()方法。
```java double angle = 45; //以角度制表示的角度double radians = Math.toRadians(angle); //转换为弧度 double sinValue = Math.sin(radians); //计算sin 值 double cosValue = Math.cos(radians); //计算cos 值 double tanValue = Math.tan(radians); //计算tan 值 ```使用三角函数处理三角形问题三角函数可以用于处理各种三角问题。
Java编程之双重循环打印图形

Java编程之双重循环打印图形双重循环打印顶点在左上的直⾓三⾓形:public static void main(String[] args) {// TODO Auto-generated method stubint num=0;System.out.println("请输⼊直⾓三⾓形的⾏数:");Scanner input=new Scanner(System.in);num=input.nextInt();for(int i=1;i<=num;i++){for(int k=1;k<=num-i+1;k++){System.out.print("*");}System.out.print("\n");}}打印顶点在左下的直⾓三⾓形public static void main(String[] args) {int rows=0;System.out.println("请输⼊要求的三⾓形的⾏数:");Scanner input=new Scanner(System.in);rows=input.nextInt();for(int i=1;i<=rows;i++){for(int j=1;j<=2*i-1;j++){System.out.print("*");}System.out.print("\n");}}打印定点在右上的直⾓三⾓形public static void main(String[] args) {int num=0;System.out.println("请输⼊三⾓形所需要的⾏数:");Scanner input=new Scanner(System.in);num=input.nextInt();for(int i=1;i<=num;i++){for(int k=num;k>num-i+1;k--){System.out.print(" ");}for(int j=num;j>=i;j--){System.out.print("*");}System.out.println();}System.out.println();}打印定点在右下的直⾓三⾓形public static void main(String[] args) {int num=0;System.out.println("请输⼊打印的三⾓形⾏数:");Scanner input=new Scanner(System.in);num=input.nextInt();for(int i=1;i<=num;i++){for(int k=num;k>0;k--){if(k<=i){System.out.print("*");}else{System.out.print(" ");}}System.out.println();}}打印顶点在上的等腰三⾓形:public static void main(String[] args) {int num=0;System.out.println("请输⼊要打印三⾓形的⾏数:"); Scanner input=new Scanner(System.in);num=input.nextInt();for(int i=1;i<=num;i++){for(int k=0;k<=num-i;k++){System.out.print(" ");}for(int j=1;j<=2*i-1;j++){System.out.print("*");}System.out.print("\n");}}打印顶点在下的等腰三⾓形public static void main(String[] args) {int num=0;System.out.println("请输⼊要求的三⾓形⾏数:"); Scanner input=new Scanner(System.in);num=input.nextInt();for(int i=1;i<=num;i++){for(int m=num-1;m>num-i;m--){System.out.print(" ");}for(int j=num;j>=i;j--){System.out.print("* ");}System.out.println();}}打印矩形public static void main(String[] args) {for(int i=0;i<5;i++){for(int j=0;j<5;j++){System.out.print("*");}System.out.print("\n");}}打印空⼼菱形和实⼼菱形public static void main(String[] args) {int hangshu = 11;int yiban = hangshu / 2 + 1;int yibanduo = hangshu / 2;System.out.println("空⼼菱形:");for(int k = 1;k <= yiban;k++){for(int i = 1;i <= (yiban - k);i++){System.out.print(" ");}System.out.print("*");for(int i = 1;i <= ( (k - 2) * 2 + 1);i++){System.out.print(" ");}if(k != 1){System.out.print("*");}System.out.println();}for(int k = yibanduo;k >=1;k--){for(int i = 1;i <= (yiban - k);i++){System.out.print(" ");}System.out.print("*");for(int i = 1;i <= ( (k - 2) * 2 + 1);i++){System.out.print(" ");}if(k != 1){System.out.print("*");}System.out.println();}System.out.println("实⼼菱形:");for(int i = 1;i <= hangshu;i++){if(i <= hangshu/2 + 1){for(int k = 1;k <= hangshu/2 + 1- i;k++){System.out.print(" ");}for(int k = 1;k <= i;k++){System.out.print("* ");}System.out.println();}else{for(int k =1;k <= (i -(hangshu/2 + 1));k++){System.out.print(" ");}for(int k = 1;k <= (2 *(hangshu/2 + 1) - i);k++){System.out.print("* ");}System.out.println();}}}打印平⾏四边形public static void main(String[] args) {for (int i = 0; i < 5; i++) {//打印⾏for (int j = 0; j < 4-i; j++) {//打印空格System.out.print(" ");//引号中间加空格}for (int j = 0; j < 6; j++) {//打印列System.out.print("*");}System.out.println();//换⾏}}打印九九乘法表public static void main(String[] args) {int num=9;for(int i=1;i<=num;i++){for(int j=1;j<=i;j++){System.out.print(j+"*"+i+"="+j*i+" ");}System.out.println();}}九九除法表public class TestNineNine {public static void main(String[] args) {for (int b=1;b<=9;b++) {for (int a=1;a<=9;a++) {int c = a*b;System.out.print(c+"/"+a+"="+b+"\t");}System.out.println();}}总结以上就是本⽂关于Java编程之双重循环打印图形的全部内容,希望对⼤家有所帮助。
50道经典java题目

题目:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。
【程序38】
题目:写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。
【程序39】
题目:编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数1/1+1/3+...+1/n(利用指针函数)
程序1】
题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
1.程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21....
【程序20】
题目:有
一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。
1.程序分析:请抓住分子与分母的变化规律。
【程序21】
【程序19】
题目:打印出如下图案(菱形)
*
***
******
********
******
***
*
1.程序分析:先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重 for循环,第一层控制行,第二层控制列。
1.程序分析:(a> b)?a:b这是条件运算符的基本例子。
【程序6】
题目:输入两个正整数m和n,求其最大公约数和最小公倍数。
1.程序分析:利用辗除法。
【程ห้องสมุดไป่ตู้7】
题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
JAVA经典算法练习题

【程序12】
题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?
【程序30】
题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。
1. 程序分析:首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,插入后此元素之后的数,依次后移一个位置。
【程序31】
题目:将一个数组逆序输出。
1.程序分析:用第一个与最后一个交换。
1.程序分析:请抓住分子与分母的变化规律。
【程序21】
题目:求1+2!+3!+...+20!的和
1.程序分析:此程序只是把累加变成了累乘。
ห้องสมุดไป่ตู้
【程序22】
题目:利用递归方法求5!。
1.程序分析:递归公式:fn=fn_1*4!
【程序23】
题目:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大?
1.程序分析:(a> b)?a:b这是条件运算符的基本例子。
【程序6】
题目:输入两个正整数m和n,求其最大公约数和最小公倍数。
java中倒三角和正三角的代码

java中倒三角和正三角的代码在Java编程语言中,我们可以使用循环和条件语句来实现倒三角和正三角的输出。
下面,我们将详细介绍这两种图形的代码实现方法。
一、倒三角倒三角是指从上往下逐渐减少的一种图形。
我们可以使用嵌套循环来实现倒三角的输出。
代码如下:```public class InvertedTriangle {public static void main(String[] args) {int rows = 5;for (int i = rows; i >= 1; i--) {for (int j = 1; j <= i; j++) {System.out.print("* ");}System.out.println();}}}```运行以上代码,将输出如下倒三角形状:```* * * * ** * * ** * ** **```以上代码中,我们使用两个循环来控制行和列的输出。
外层循环控制行数,内层循环控制每行的列数。
通过逐渐减少的行数和逐渐增加的列数,实现了倒三角的输出。
二、正三角正三角是指从上往下逐渐增加的一种图形。
同样,我们可以使用嵌套循环来实现正三角的输出。
代码如下:```public class Triangle {public static void main(String[] args) {int rows = 5;for (int i = 1; i <= rows; i++) {for (int j = 1; j <= rows - i; j++) { System.out.print(" ");}for (int k = 1; k <= 2 * i - 1; k++) { System.out.print("*");}System.out.println();}}}```运行以上代码,将输出如下正三角形状:```*************************```以上代码中,我们同样使用两个循环来控制行和列的输出。
javafor循环打印三角形

javafor循环打印三角形Java中的循环结构是实现重复执行一段代码的常用工具,而打印三角形是一个经常遇到的编程问题。
在下面的文中,我们将介绍两种常见的循环结构,在Java中使用它们来打印三角形的实现方法。
一种常见的实现方法是使用嵌套循环。
具体步骤如下:1. 首先确定打印的三角形的行数。
假设我们要打印的三角形有n行。
2. 使用外层循环控制行数,内层循环控制每一行的打印。
3. 外层循环从1到n递增,表示当前要打印的行数。
4. 内层循环从1到当前行数,每次打印一个"*"。
5. 内层循环结束后,换行。
6. 外层循环结束后,打印完整个三角形。
下面是示例代码:```javaint n = 5; // 打印五行三角形for (int i = 1; i <= n; i++) {for (int j = 1; j <= i; j++) {System.out.print("*");}System.out.println();}```运行上面的代码,将输出如下的三角形:```***************```另一种常见的实现方法是通过计算每一行的空格数和星号数来实现。
具体步骤如下:1. 首先确定打印的三角形的行数。
假设我们要打印的三角形有n行。
2. 使用循环从1到n控制行数。
3. 根据每一行的行号i计算空格数和星号数,分别记为spaces 和stars。
- 空格数spaces = n - i,表示当前行前面的空格数。
- 星号数stars = i,表示当前行的星号数。
4. 使用循环打印spaces个空格,然后打印stars个星号。
5. 换行,进入下一行的循环。
6. 循环结束后,打印完整个三角形。
下面是示例代码:```javaint n = 5; // 打印五行三角形for (int i = 1; i <= n; i++) {int spaces = n - i;int stars = i;for (int j = 1; j <= spaces; j++) {System.out.print(" ");}for (int j = 1; j <= stars; j++) {System.out.print("*");}System.out.println();}```运行上面的代码,将输出如下的三角形:```***************```以上就是用Java循环结构打印三角形的两种常见实现方法。
Java 根据输入三边绘制三角形

Java 根据输入三边绘制三角形import java.awt.Color;import java.awt.Dimension;import java.awt.Font;import java.awt.Graphics;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.AdjustmentEvent;import java.awt.event.AdjustmentListener;import java.util.Scanner;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JScrollBar;import javax.swing.JScrollPane;import javax.swing.JTextField;import javax.swing.ScrollPaneConstants;public class DrawTriangle{JFrame jf;int a,b,c;int xs=100,ys=100; //a边始点坐标int x,y; //终点坐标String result="请输入三边!";Font f=new Font("黑体", Font.ITALIC, 24);Font fb=new Font("宋体",Font.PLAIN,14);JLabel jl;JLabel jlx;JLabel jly;JTextField jfx;JTextField jfy;JButton jb;JPanel jp1,jp2;JScrollPane js;public DrawTriangle(){jf=new JFrame();jf.setSize(800,600);jf.setVisible(true);jf.setTitle("画三角形");jf.setLocationRelativeTo(null);jf.setDefaultCloseOperation(jf.EXIT_ON_CLOSE);jl=new JLabel("改变起点A坐标:");jlx=new JLabel("x");jly=new JLabel("y");jfx=new JTextField("100");jfy=new JTextField("100");jb=new JButton("点击开始画三角形");jp1=new JPanel();jp2=new JPanel();js=new JScrollPane();jf.setLayout(null);jp1.setPreferredSize(new Dimension(600,600)); //设置绘图面板初始大小js.setBounds(0,0,jf.getWidth()-15,520); //设置滚动面板的位置和大小// js.add(jp1);js.setViewportView(jp1); //将绘图面板加入滚动面板js.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AL WAYS );js.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS );jp2.setBounds(0, 520,600, 40); //控制面板jl.setBounds(50, 520,120, 30);jlx.setBounds(170, 520,30, 30);jfx.setBounds(200, 520,90, 30);jly.setBounds(290, 520,30, 30);jfy.setBounds(320, 520,90, 30);jb.setBounds(420, 520,120, 40);jp2.add(jl);jp2.add(jlx);jp2.add(jfx);jp2.add(jly);jp2.add(jfy);jp2.add(jb);jf.add(js); //窗体内加入js滚动面板jf.add(jp2); //窗体内加入操作面板jb.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent arg0){jp1.setPreferredSize(new Dimension(xs+maxInt(), ys+maxInt())); //重置绘图面板大Graphics g=jp1.getGraphics();g.setFont(f);g.clearRect(0,0, jp1.getWidth(),jp1.getHeight()); //以背景色填充JFrame,以便重新绘制图形if(!jfx.getText().isEmpty()&&!jfy.getText().isEmpty()){xs=Integer.parseInt(jfx.getText().toString());ys=Integer.parseInt(jfy.getText().toString());}paint(g); //将画笔g传至自定义的画画函数}});JScrollBar bar = js.getHorizontalScrollBar(); // 返回控制视口的水平视图位置的水平滚动条JScrollBar bar1 = js.getVerticalScrollBar(); // 返回控制视口垂直视图位置的垂直滚动条//滚动重绘bar.addAdjustmentListener(new AdjustmentListener (){public void adjustmentValueChanged(AdjustmentEvent e) {jp1.setPreferredSize(new Dimension(xs+maxInt(), ys+maxInt())); //重置绘图面板大Graphics g=jp1.getGraphics(); //在面板上创建画笔g.setFont(f);g.clearRect(0,0, jp1.getWidth(),jp1.getHeight()); //以背景色填充JFrame,以便重新绘制图形if(!jfx.getText().isEmpty()&&!jfy.getText().isEmpty()){xs=Integer.parseInt(jfx.getText().toString());ys=Integer.parseInt(jfy.getText().toString());}paint(g); //将画笔g传至自定义的画画函数}}); // 监听滚动条模型发生更改//滚动bar1.addAdjustmentListener(new AdjustmentListener (){public void adjustmentValueChanged(AdjustmentEvent e) {jp1.setPreferredSize(new Dimension(xs+maxInt(), ys+maxInt()));//重置绘图面板大小Graphics g=jp1.getGraphics();g.setFont(f);g.clearRect(0,0, jp1.getWidth(),jp1.getHeight()); //以背景色填充JFrame,以便重新绘制图形if(!jfx.getText().isEmpty()&&!jfy.getText().isEmpty()){xs=Integer.parseInt(jfx.getText().toString());ys=Integer.parseInt(jfy.getText().toString());}paint(g); //将画笔g传至自定义的画画函数}}); // 监听滚动条模型发生更改}public int maxInt(){return a>b?(a>c?a:c):(b>c?b:c);}//能否找到坐标public boolean isTriangle(){//(xs,xs)a边始点for(int i=xs-maxInt();i<=xs+maxInt();i++)for(int j=ys+1;j<=ys+maxInt();j++) //j>xs使b,c边位于a边下方{//Math.sqrt必须转换为整型,才能比较(采用坐标距离公式联立二元一次方程求解坐标)if(((int)Math.sqrt((i-xs)*(i-xs)+(j-ys)*(j-ys))==b)&&((int)Math.sqrt((x s+a-i)*(xs+a-i)+(j-ys)*(j-ys))==c)&&(a+b)>c&&(a+c)>b&&(b+c)>a){x=i;y=j;// JOptionPane.showMessageDialog(jf,"x="+x+" y="+y );return true; //返回函数}}return false;}public void paint(Graphics g){String s="a="+a+" b="+b+" c="+c+" ";g.setFont(f);g.setColor(Color.red);g.drawString(s,10,60);g.setFont(f);g.setColor(Color.red);g.drawLine(xs, ys,xs+a, ys); //固定第一边g.drawString("A",xs,ys); //画顶点g.drawString("B",xs+a,ys);g.setFont(fb);g.setColor(Color.blue);g.drawString("a",(xs+xs+a)/2,(ys+ys)/2); //在边中点画边a的标记if(isTriangle()){g.setFont(f);g.setColor(Color.red);g.drawLine(xs, ys,x, y);g.setFont(fb);g.setColor(Color.blue);g.drawString("b",(xs+x)/2,(ys+y)/2); //在边中点画边b的标记g.setFont(f);g.setColor(Color.red);g.drawLine(xs+a, ys,x, y);g.drawString("C",x,y);g.setFont(fb);g.setColor(Color.blue);g.drawString("c",(xs+a+x)/2,(ys+y)/2); //在边中点画边c的标记}else{g.setFont(f);g.setColor(Color.red);g.drawLine(xs, ys,xs, ys+b);g.drawString("C1",xs,ys+b);g.setFont(fb);g.setColor(Color.blue);g.drawString("b",(xs+xs)/2,(ys+ys+b)/2); //在边中点画边b的标记g.setFont(f);g.setColor(Color.red);g.drawLine(xs+a, ys,xs+a, ys+c);g.drawString("C2",xs+a,ys+c);g.setFont(fb);g.setColor(Color.blue);g.drawString("c",(xs+xs+a+a)/2,(ys+ys+c)/2); //在边中点画边c的标记}g.setFont(f);g.setColor(Color.red);g.drawString(s+result,10,60);}public static void main(String[] args){DrawTriangle tr=new DrawTriangle();tr.jf.setVisible(false); //开始界面不可见while(true){Scanner sc=new Scanner(System.in);int a,b,c;System.out.println("请输入三个整数(代表三条边):");a=sc.nextInt(); tr.a=a;b=sc.nextInt(); tr.b=b;c=sc.nextInt(); tr.c=c;System.out.println("三边为:"+a+" "+b+" "+c);tr.jf.setVisible(true);if(!(a>0&&b>0&&c>0&&(a+b>c)&&(a+c>b)&&(b+c>a))){System.out.println("不能构成三角形!");tr.result="不能构成三角形!";}else if((a==b)||(a==c)||(b==c)){System.out.println("构成等腰三角形!");tr.result="构成等腰三角形!";if(a==b&&b==c){System.out.println("构成等边三角形!");tr.result="构成等边三角形!";}}else{System.out.println("可以构成三角形!");tr.result="可以构成三角形!";}}}}作者:王辉东10级合肥师范学院计算机科学与技术系日期:2013-5-10寄语:机会是留给有准备者的!。
java第一次作业题目2021版

java第一次作业题目2021版1. 题目:从键盘上输入两个正整数m和n,求其最大公约数和最小公倍数,必须判断输入数的正确性(比如非正整数等必须提示)。
[选题人数:3] 2. 题目:给出一个月的总天数编写程序,提示用户输入月份和年份,然后显示这个月的天数。
例如,如果用户输入的月份是2而年份是2000,那么程序应显示“2000年2月有29天”。
如果用户输入的月份为3而年份为2021,那么程序就应该显示“2021年3月有31天”。
(提示:必须判断是否是闰年) [选题人数:3]3. 题目:计算一个三角形的周长编写程序,提示用户从键盘输入三角形的三条边,如果输入值合法就计算这个三角形的周长,否则,显示这些输入值不合法(如果任意两条边的和大于第三条边,那么输入值都是合法的)。
[选题人数:3] 4. 题目:奖金发放问题企业发放的奖金根据利润提成。
利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?[选题人数:3]5. 题目:打印金字塔形的数字编写一个嵌套的for循环,打印下面的输出。
1 2 1 1 2 4 2 1 1 2 4 8 4 2 1 1 2 4 8 168 4 2 11 2 4 8 16 32 16 8 4 2 11 2 4 8 16 32 64 32 16 8 4 2 11 2 4 8 16 32 64 128 64 32 16 8 4 2 1[选题人数:2] 6. 题目:十进制转换成二进制或十六进制编写程序,从键盘上输入一个十进制整数,然后显示对应的二进制值或十六进制值。