(java)按输入行数打印三角形

合集下载

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编程之双重循环打印图形

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题目

50道经典java题目
【程序37】
题目:有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&gt; b)?a:b这是条件运算符的基本例子。
【程序6】
题目:输入两个正整数m和n,求其最大公约数和最小公倍数。
1.程序分析:利用辗除法。
【程ห้องสมุดไป่ตู้7】
题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

JAVA经典算法练习题

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中倒三角和正三角的代码在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循环打印三角形

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 根据输入三边绘制三角形

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版

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. 题目:十进制转换成二进制或十六进制编写程序,从键盘上输入一个十进制整数,然后显示对应的二进制值或十六进制值。

循环语句打印三角形

循环语句打印三角形

循环语句打印三⾓形基础篇说明:这部分主要是使⽤循环语句打印常见的三⾓形,不涉及具体的数字。

这部分代码基本上是打印九九乘法表的变形。

外循环:控制总共循环了多少轮。

内循环:控制每轮循环的次数。

使⽤System.out.print()能够将⼀轮循环的所有次数放在同⼀⾏。

打印下左三⾓形/*编写程序:打印下左三⾓形****************/package book.Chapter5.HomeWork.Triangle;import java.util.Scanner;public class DownLeft {public static void main(String[] args) {//此处也可以写有参的⽅法输⼊⾏数Scanner input = new Scanner(System.in);System.out.print("输⼊要打印的⾏数:");int line = input.nextInt();for(int i = 1 ; i<=line ; i++ ){for(int j = 1; j<=i ; j++){System.out.print("*"); //注意细节}System.out.println(); //分⾏}}}打印上左三⾓形/*编写程序:打印上左三⾓形****************/package book.Chapter5.HomeWork.Triangle;import java.util.Scanner;public class UpLeft {public static void main(String[] args) {Scanner input = new Scanner(System.in);System.out.print("输⼊要打印的⾏数:");int line = input.nextInt();for(int i=1 ; i<=line ; i++ ){for(int j = line ; j>=i ; j--){System.out.print("*");}System.out.println();}}}打印下右三⾓形/*编写程序:打印下右三⾓形***************分析:先排成上多下少的三⾓形默认会排成下左三⾓形然后在每⾏的左边插⼊空格这些空格可以视作低⼀阶的上左三⾓形*/package book.Chapter5.HomeWork.Triangle;import java.util.Scanner;public class DownRight {public static void main(String[] args) {int line = input.nextInt();for (int i = 1; i <= line; i++) {//左边插⼊空格低⼀阶的上左三⾓形for(int k = line-1 ; k>=i ; k--){System.out.print(" ");}//打印下左三⾓形for (int j = 1 ; j<=i; j++) {System.out.print("*");}System.out.println();}}}打印上右三⾓形/*编写程序:打印上右三⾓形****************/package book.Chapter5.HomeWork.Triangle;import java.util.Scanner;public class UpRight {public static void main(String[] args) {Scanner input = new Scanner(System.in);System.out.print("输⼊⾏数:");int line = input.nextInt();for(int i = 1 ; i<=line ; i++){//输出低⼀阶的下左三⾓形for(int j = 0 ; j<=i ; j++){System.out.print(" ");}//打印上左三⾓形for(int k = line ; k>=i ; k--){System.out.print("*");}System.out.println();}}}打印等腰三⾓形/*编写程序:打印⾦字塔*****************/package book.Chapter5.HomeWork.Triangle;import java.util.Scanner;public class Pyramid {public static void main(String[] args) {Scanner input = new Scanner(System.in);System.out.print("输⼊⾏数:");int line = input.nextInt();for (int i = 1 ; i<=line ; i++){/*打印空⽩的上左三⾓形;第⼀轮循环line-1次第⼆轮循环line-2次即每轮循环line-i次*/for(int k =1 ; k<=line-i ; k++){System.out.print(" ");}/*第⼀轮循环1次第⼆轮循环3次第三轮循环5次即循环2i-1次for(int j = 1 ; j<=2*i-1 ; j++){System.out.print("*");}System.out.println(); //将每⼀轮输出的结果按⾏分开}}}打印倒等腰三⾓形/*编写程序:打印倒等腰三⾓形如下:*****************/package book.Chapter5.HomeWork.Triangle;import java.util.Scanner;public class Pyramid01 {public static void main(String[] args) {Scanner input = new Scanner(System.in);System.out.print("输⼊⾏数:");int line = input.nextInt();//外循环控制循环总轮数for(int i = 1 ; i<=line ; i++){//空⽩下右三⾓/*第⼀轮0次第⼆轮1次第三轮2次第四轮3次即每轮i-1次*/for(int j = 1 ; j<=i-1 ; j++){System.out.print(" ");}//打印星号/*第⼀轮7次第⼆轮5次第三轮3次第四轮1次⽽2*i-1分别是 1 3 5 7即2*line-(2*i-1)分别是 7 5 3 1 (上例中 line=4 即四⾏) */for(int k = 1 ; k<=2*line-(2*i-1) ; k++){System.out.print("*");}System.out.println();}}}打印右三⾓形/*编写程序打印如下的右三⾓形,例如(即每增加⼀列增加两个五⾓星): ****** //第⼀部分** //第⼆部分**/package book.Chapter5.HomeWork.Triangle;import java.util.Scanner;public class Pyramid02 {public static void main(String[] args) {Scanner input = new Scanner(System.in);System.out.print("输⼊⾏数(奇数):");int line = input.nextInt();//第⼀部分for (int i = 1; i <= (line + 1) / 2; i++) {/*line = 5时空⽩上左三⾓⾃上⽽下是 2 1 0for (int j = 1; j <= (line + 1) / 2 - i; j++) {System.out.print("!"); //便于直观将空⽩处写成!以检测程序正确与否 }for (int k = 1; k <= i; k++) {System.out.print("*");}System.out.println();}//第⼆部分for (int i = 1; i <= (line + 1) / 2 - 1; i++) {//两轮 i分别是 1 2//打印下左空⽩三⾓形/*⽽第⼀轮是1次第⼆轮是2次即每⼀轮是i*/for (int j = 1; j <= i ; j++) {System.out.print("!");}/*(line+1)/2=33-1=2 3-2=1第⼀轮是2次第⼆轮是1次*/for (int k = 1; k <= (line + 1) / 2 - i; k++) {System.out.print("*");}System.out.println();}}}打印左三⾓形/*编写程序:打印左三⾓形*** //第⼀部分*** //第⼆部分***稍微尝试不同于右三⾓形的处理办法(两种⽅法代码长度相差不⼤)*/package book.Chapter5.HomeWork.Triangle;import java.util.Scanner;public class Pyramid03 {public static void main(String[] args) {Scanner input = new Scanner(System.in);System.out.print("输⼊⾏数(奇数):");int line = input.nextInt();for (int i = 1; i <= (line - 1) / 2; i++) {//i = 1 2//第⼀部分for (int k = 1; k <= i; k++) {System.out.print("*");}System.out.println();}//第⼆部分for (int i = 1; i <= (line + 1) / 2; i++) {//i = 1 2 3/*第⼀轮(i=1)出现3次第⼆轮(i=2)出现2次*/for (int k = (line + 1) / 2; k >= i; k--) {System.out.print("*");}System.out.println();}}}打印平⾏四边形/*编写程序:打印平⾏四边形*****分析:第⼀部分左边放空⽩上左三⾓形第⼆部分左边放空⽩下左三⾓形*/package book.Chapter5.HomeWork.Triangle;import java.util.Scanner;public class Pyramid04 {public static void main(String[] args) {Scanner input = new Scanner(System.in);System.out.print("输⼊⾏数(奇数):");int line = input.nextInt();//第⼀部分for(int i = 1 ; i<=(line+1)/2 ; i++){//i = 1 2 3//左边放空⽩上左三⾓形/*第⼀轮2次 3-1=2第⼆轮1次 3-2=1第三轮0次*/for (int j = 1 ; j<=(line+1)/2-i ; j++){System.out.print(" ");}//此处参考等腰三⾓形代码for(int k = 1 ; k<=2*i-1 ; k++){System.out.print("*");}System.out.println();}//第⼆部分//这个例⼦中总共2轮for(int i = 1 ; i<=(line-1)/2 ; i++){//i=1 2//空⽩下右三⾓形/*第⼀轮1次第⼆轮2次*/for(int j = 1 ; j<=i ; j++){System.out.print(" ");}//此处参考倒等腰三⾓形/*第⼀轮3次第⼆轮1次2*i = 2 4即line = 5 5-2 = 3 5-4 = 1*/for(int k = 1 ; k<=line-2*i ; k++){System.out.print("*");}System.out.println();}}}总结:内层循环的for循环的条件表达式⼀定和外层循环的i有关对于内层循环的初始化表达式,起始值从1、0或者其他的数字开始并不重要,因为内层循环只是计算每轮循环多少次(⼀个区间),即次数,与起始值为多少⽆关(具体值)。

输入行数n输出n行由数字构成的三角形

输入行数n输出n行由数字构成的三角形

标题:探索数字三角形:从输入到输出的深度解析在我们生活的方方面面,数字都扮演着至关重要的角色。

从简单的计数到复杂的数学运算,数字无处不在。

而今天,我们将一起深入探讨数字的另一种形式——数字三角形。

1. 什么是数字三角形?数字三角形,顾名思义,就是由数字构成的三角形图案。

我们需要明确一个概念,那就是这个三角形是如何被构建出来的。

通常情况下,我们会输入一个整数n,然后根据这个整数来构建相应的数字三角形,使得三角形的每一行由1到n不等的数字构成。

2. 构建数字三角形的基本方法在构建数字三角形时,通常会采用嵌套循环的方式来完成。

外层循环控制行数,而内层循环则控制每行的数字输出。

以输入行数6为例,我们可以通过如下伪代码来构建这样一个数字三角形:for i from 1 to 6 dofor j from 1 to i dooutput jend fornewlineend for3. 深入探讨数字三角形的排列规律接下来,让我们来观察一下数字三角形中数字的排列规律。

以输入行数4为例,我们可以得到如下的数字三角形:1121231234通过观察不同行数所构成的数字三角形,我们可以发现,每一行的数字都是从1开始逐渐增加到当前行数。

这种排列规律展现了数字三角形内在的数学美感。

4. 数字三角形的应用与拓展数字三角形不仅仅是一种图案,它还具有一定的应用价值。

在计算机科学领域,数字三角形常被用于教学和算法训练中,帮助学习者理解嵌套循环和递增输出的方法。

数字三角形还可以作为一道趣味编程题目,锻炼逻辑思维和编程能力。

5. 个人观点与理解对于我个人而言,数字三角形不仅仅是一个简单的图案,更是数学和计算机的结合体。

它将抽象的数学概念与计算机编程实践有机地结合在一起,展现了数字世界的无限魅力。

通过深入研究和探索数字三角形,我获得了对嵌套循环和数字排列的深刻理解,同时也享受到了探索数字世界的乐趣。

总结通过本文的深度解析,我们对数字三角形的构建方法、排列规律、应用拓展以及个人观点有了全面的了解。

实验题java

实验题java

实验1 简单Java程序调试✧基本题1)编写一个程序输出如下图案****** ************* *** ********* ** ****** ** ****** ** ****** ** ************ ** ** ****** ** ** ****** ** ** ********* **************2)编制applet程序,绘制一个长120、宽80的红色矩形,并在矩形内部绘制一个兰色内切椭圆。

✧提高题1)编写一个应用程序绘制一个如下的操作菜单。

*****************************| 1. 增加1个学生 || 2. 显示所有学生 || 3. 退出程序 || 请输入选择(1-3): |*****************************2)创建一个applet程序,绘制两个同心圆,园心显示“同心”两个汉字。

实验2 分支、循环程序设计✧基本题1)从键盘输入4个学生的成绩,找出最高分和最低分。

【提示】引入两个变量分别存放最高分和最低分,根据比较改变这两个变量值。

2)写一个程序输入一个整数n,输出相应三角形。

例如:N=4,则三角形如下:##########3)编写一个程序,用于输出Fibonacci数列的前20项。

4)输入一个百分制分数,输出其对应的五分制成绩,包括:优、良、中、及格、不及格。

5) 计算算式: 1-1/2+1/3-1/4+1/5-…-1/1006)输出九九乘法表,格式如下:1*1=1 1*1=2 1*3=3 ……2*1=1 2*2=2 2*3=3 …………9*1=1 9*2=18 9*3=27 ……✧提高题1)设有一元二次方程如下:aX2+bx+c=0试根据从键盘输入的a,b,c求解方程的根。

【提示】要考虑各种情形:一是a为0的情形,方程根为-c/b。

还有就是根据判别式Δ=b2 - 4ac进行判断,如果Δ.>0有两个实根;Δ=0,有一个实根;Δ<0,无实数解。

java实现杨辉三角的三种方法(含代码和解析且全面)

java实现杨辉三角的三种方法(含代码和解析且全面)

前言既然是实现杨辉三角,就要知道什么是杨辉三角。

如下图,就是两种杨辉三角。

(1)等边形状的杨辉三角(2)直角形状的杨辉三角在知道这两种都是杨辉三角之后,我们就来实现利用java语言打印出杨辉三角。

杨辉三角的规律:(1)第n行有n个数字.(2)每一行的开始和结尾数字都为1.用二维数组表示就是a[i][0]=1; a[i][j]=1(当i==j时);(3)第n+1行的第i个数字等于第n行的i-1个数字加上第n行的i个数字。

用二维数组表示就是a[i+1][j]=a[i][j-1]+a[i][j];代码部分(1)创建一个长度为10,宽度为10的二维数组,但赋值和输出时只输出杨辉三角那个范围的数。

首先,我们得理解定义一个长度和高度都为10的二维数组时,他到底做了什么。

数组的图为可以看出,实际是给每个位置上都赋值为0;而我们要做的是给A部分的位置赋值并且输出,而B部分的位置不用管。

A部分与B部分的区别在于:A部分的横坐标大于等于纵坐标。

用数组中的话就是i<=j;知道要赋值的范围,那么for循环的语句就知道了啦,就为而接下来就是利用杨辉三角的特点实现赋值并输出,这里就直接看下面的完整代码吧。

第一种该方法完整代码:最后的实现效果就是下图。

(2)直接创建一个和杨辉三角形状一样的数组再赋值输出。

在前面我们使用了一个长10高10的数组,但是最后我们只用了它的A部分,思考一下,为什么我们不直接创建一个和前面那个A部分形状一样的数组呢?形状如下图:知道基本的概念之后,我们先创建该数组,首先可以确定的是这里的高度还是为10,也就是横坐标最大还是为10,但是纵坐标就是小于等于该行的横坐标。

用代码表示就是:在数组创建好之后,再就是赋值了,之前赋值用的是j<=i,但是此处数组的范围就是杨辉三角的范围,所以可以直接对数组进行内外两层循环。

用代码表示就是:而赋值的代码也是一样,不过这种方法就可以赋值完再输出,不用像第一种一样赋值时输出。

JAVA经典算法练习题

JAVA经典算法练习题
【程序30】
题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。
1. 程序分析:首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,插入后此元素之后的数,依次后移一个位置。
【程序31】
题目:将一个数组逆序输出。
1.程序分析:用第一个与最后一个交换。
【程序32】
题目:取一个整数a从右端开始的4~7位。
程序分析:可以这样考虑:
(1)先使a右移4位。
(2)设置一个低4位全为1,其余全为0的数。可用~(~0 < <4)
(3)将上面二者进行&运算。
【程序33】
题目:打印出杨辉三角形(要求打印出10行如下图)
【程序10】
题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第10次落地时,共经过多少米?第10次反弹多高?
【程序11】
题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。
【程序42】
题目:809*??=800*??+9*??+1 其中??代表的两位数,8*??的结果为两位数,9*??的结果为3位数。求??代表的两位数,及809*??后的结果。
【程序43】
题目:求0—7所能组成的奇数个数。
【程序44】
题目:一个偶数总能表示为两个素数之和。
1.程序分析:可以利用选择法,即从后9个比较过程中,选择一个最小的与第一个元素交换, 下次类推,即用第二个元素与后8个进行比较,并进行交换。

JSP 输出一个正三角型

JSP  输出一个正三角型
JSP
在本扩展练习中,将通过对双层for循环的练习,实现在界面上输出三角形。在双层for循环中,外层for循环控制三角行的行数,一个内层for循环控制第行空格的输出,一个内层for循环控制三角形的宽。
(1)新建Java项目。打开MyEclipse,【新建】|【新建Java项目】命令,弹出【创建Java项目】对话框,在【项目名】里输入要创建的项目名MyEclipseP。具体设置如图2-20所示。
{
//内层循环,根据不同行,输出不同的空格
for(int k=1;k<=20-i;k++)
System.out.print(" ");
//内层循环,输出行中的三角形
for(int j=1;j<=i*2-1;j++)
System.out.print("*");
System.out.println();
图2-23输出三角形
图2-20【新建Java项目】
(2)新建一个命名为PrintTriangle.Java类。打开MyEclipseP项目,【新建】|【类】命令,弹出【新建Java类】对话框。如图2-21所示。
图2-21【新建Java类】
(3)在对话框【名称】里输入要创建的类名称,这里填写PrintTriangle。在【想要创建哪些方法存根】里选择“public static void main (String[] args)”复选框,并单击【完成】按钮。创建好的Java类,如图2-22所示。
图2-22PrintTriangle类
(4)在PrintTriangle类中输入以下内容并保存。
public class PrintTriangle

JAVA实验报告

JAVA实验报告

日期:2018年5月地点:明向校区公共机房6(1)实验题目,实验原理和内容一、实验目的:JAVA结构化程序设计二、实验原理:声明不同数据类型的变量,使用关系运算符和逻辑运算符,使用表达式语句与复合语句,使用选择语句,使用循环语句。

实验内容及要求:1、题目1:编写程序,实现从键盘输入一个0到100之内的整数,把百分制分数到等级分数的转换////>=90 A// 80~89 B// 70~79 C// 60~69 D// <60 E2、成法口诀阵形3、华氏和摄氏的转换法4、.从键盘输入10个数,排序输出。

要求:请同学们把调试好的程序及运行结果、存在的问题写在下面(不够可以附页)。

1、package test1;import java.util.*;public class TEST1 {public static void main(String[] args){System.out.println("请输入一个0到100之间的整数");Scanner scanner=new Scanner(System.in);int x;int m=scanner.nextInt();x=m/10;switch(x){ case 9: System.out.println("A");break;case 8: System.out.println("B");break;case 7: System.out.println("C");break;case 6: System.out.println("D");break;default: System.out.println("E");break;}}}2、package test2;public class TEST2 {public static void main(String[] args){int num;int m;for(int i=1;i<=9;i++){for(int j=1;j<=i;j++){num=i*j;System.out.print(j+"*"+i+"="+num+ "\t");if(i==j)System.out.println(); }}}}3、package test3;import java.util.*;public class TEST3 {public static void main(String[] args){Scanner scanner=new Scanner(System.in);while(true) {System.out.println("请输入要转换的温度类型:c或f");String a=scanner.nextLine();String num1=new String("c");String num2=new String("f");String num3=new String("exit");if(a.equals(num1)){System.out.println("请输入要转换摄氏的温度:..");double C=scanner.nextFloat();System.out.println("对应的华氏温度为:");System.out.println(32+C*1.8+"F");}if(a.equals(num2)){System.out.println("请输入要转换华氏的温度:..");double F=scanner.nextFloat();System.out.println("对应的摄氏温度为:"+"C");System.out.println((F-32)/1.8+"C");}if(a.equals(num3)) break;String bank=scanner.nextLine();}}}4、package test4;import java.util.*;public class Test4 {public static void main(String[] args){Scanner scanner=new Scanner(System.in);int m;int[] a=new int[10];for(int i=0;i<=9;i++)a[i]=scanner.nextInt();int temp;for(int i=0;i<10;i++){ for(int j=i+1;j<10;j++){ if(a[i]>a[j]){temp=a[i];a[i]=a[j];a[j]=temp;}}}for(int x=0;x<=9;x++)System.out.print(a[x]+" ");}}日期:2018年5月地点:明向校区公共机房6(2)实验题目,实验原理和内容一.实验目的:数组、字符串与异常处理二.实验原理:使用数组,使用字符串与字符串类,处理异常。

java 中的三元选择法 -回复

java 中的三元选择法 -回复

java 中的三元选择法-回复什么是三元选择法?在Java中,三元选择法是一种简洁的条件判断和赋值的方式。

它基于Java中的三元运算符,可以在一行代码中实现条件判断并给变量赋值。

三元运算符的语法如下:variable = (condition) ? expression1 : expression2;condition是一个布尔表达式,如果条件为true,那么expression1将会被执行并赋给variable,否则expression2将会被执行并赋给variable。

三元选择法的优点是简洁性和可读性。

通过使用它,我们可以在一行代码中完成常规的条件判断和赋值,避免编写繁琐的if-else语句,提高代码的可读性。

下面我们来看一个例子:int x = 10;int y = 20;int max = (x > y) ? x : y;在这个例子中,我们比较了x和y的大小,并将较大的值赋给了max变量。

如果x大于y,那么x的值将会被赋给max;反之,y的值将会被赋给max。

接下来,我们详细解释一下这个例子的执行过程:首先,我们声明了两个整数变量x和y,并分别初始化为10和20。

然后,我们使用三元选择法在一行代码中比较了x和y的大小,并将较大的值赋给了max变量。

最后,我们打印输出max的值,确定最大值被正确赋给了max变量。

现在,让我们进一步探讨一下三元选择法的用例和应用场景。

三元选择法通常用于简单的条件判断和赋值,以及处理简单的逻辑关系。

它特别适用于以下场景:1. 对于简单的条件判断和赋值,使用三元选择法可以减少代码行数并提高可读性。

这在开发一些小规模的项目或者对代码的简洁性要求较高的情况下非常有用。

2. 三元选择法在一些表达式的求值过程中很常见。

通过使用三元选择法,我们可以在一行代码中根据不同的条件返回不同的结果,而不需要编写冗长的if-else语句。

3. 在一些简单的算术运算中,三元选择法也可以发挥作用。

[程序61]题目打印出杨辉三角形(要求打印出10行如下图)

[程序61]题目打印出杨辉三角形(要求打印出10行如下图)

scanf("%d",&number[n-1]); move(number,n,m); for(i=0;i<n-1;i++)
printf("%d,",number[i]); printf("%d",number[n-1]); } move(array,n,m) int n,m,array[20]; { int *p,array_end; array_end=*(array+n-1); for(p=array+n-1;p>array;p--)
for( j=i ; j<MAXPTS ; ++j ){ /* For each remaining intersect */ moveto(points[i].x, points[i].y); /* Move to beginning of cord */ lineto(points[j].x, points[j].y); /* Draw the cord */ }}} main() {int driver,mode; driver=CGA;mode=CGAC0; initgraph(&driver,&mode,""); setcolor(3); setbkcolor(GREEN); LineToDemo();}_ 【程序 66】 题目:输入 3 个数 a,b,c,按大小顺序输出。 1.程序分析:利用指针方法。 2.程序源代码: /*pointer*/ main() { int n1,n2,n3; int *pointer1,*pointer2,*pointer3; printf("please input 3 number:n1,n2,n3:"); scanf("%d,%d,%d",&n1,&n2,&n3); pointer1=&n1; pointer2=&n2; pointer3=&n3; if(n1>n2) swap(pointer1,pointer2); if(n1>n3) swap(pointer1,pointer3); if(n2>n3) swap(pointer2,pointer3); printf("the sorted numbers are:%d,%d,%d\n",n1,n2,n3); } swap(p1,p2) int *p1,*p2; {int p; p=*p1;*p1=*p2;*p2=p; } 【程序 67】 题目:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。 1.程序分析:谭浩强的书中答案有问题。 2.程序源代码: main() { int number[10]; input(number); max_min(number);

webfor循环打印三角形

webfor循环打印三角形

在web前端中,使用for循环打印一个三角形可以通过HTML 和JavaScript来实现。

下面是一个简单的示例:```html<!DOCTYPE html><html><head><title>Print Triangle</title><style>.triangle {width: 0;height: 0;border-left: 50px solid transparent;border-right: 50px solid transparent;}</style></head><body><div id="triangleContainer"></div><script>var triangleContainer =document.getElementById("triangleContainer");var numberOfRows = 5; // 设置三角形的行数for (var i = 1; i <= numberOfRows; i++) {var triangleRow = document.createElement("div"); triangleRow.className = "triangle";// 设置每一行的上边距var marginTop = (numberOfRows - i) * 20;triangleRow.style.marginTop = marginTop + "px";triangleContainer.appendChild(triangleRow);}</script></body></html>```以上示例中,我们使用一个for循环来创建div元素,每个div元素都具有特定的class名称和样式,从而形成一个类似三角形的效果。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档