扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
其实就是程序设计的流程图,用于应用程序开发的蓝本,随便找个流程图看看就明白是什么意思了
创新互联建站始终坚持【策划先行,效果至上】的经营理念,通过多达10多年累计超上千家客户的网站建设总结了一套系统有效的全网营销推广解决方案,现已广泛运用于各行各业的客户,其中包括:社区文化墙等企业,备受客户赞扬。
说不太能说的明白,类似于棋谱一类的东西,上一步走什么,下一步走什么
;ct=201326592cl=2lm=-1fr=ala0fmq=pv=ic=0z=0se=1showtab=0fb=0width=height=face=0word=java+%B3%CC%D0%F2%C9%E8%BC%C6%C1%F7%B3%CC%CD%BCs=0#width=height=z=0fb=0ic=0lm=-1face=0
在百度图片搜索
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Drawing extends JFrame implements ActionListener {
private static final long serialVersionUID = 1L;
// 实例化一个文本域
JTextField tf = new JTextField();
// 设置两个按钮
JButton b1 = new JButton("开始");
JButton b2 = new JButton("停止");
boolean isGo = false;
public Drawing() {
b1.setActionCommand("start");// 在开始按钮上设置一个动作监听 start
JPanel p = new JPanel();// 创建一个面板容器,用于放置组件
// 将两个按钮添加到可视化容器上面,用add方法
p.add(b1);
p.add(b2);
// 在两个按钮上增加监听的属性,自动调用下面的监听处理方法actionPerformed(ActionEvent
// e),如果要代码有更好的可读性,可用内部类实现动作
// 监听处理。
b1.addActionListener(this);
b2.addActionListener(this);
// 将停止按钮设置为不可编辑(即不可按的状态)
b2.setEnabled(false);
// 将上面的文本域放在面板的北方,也就是上面(上北下南左西右东)
this.getContentPane().add(tf, "North");
// 将可视化容器pannel放在南边,也就是下面
this.getContentPane().add(p, "South");
// 设置用户在此窗体上发起"close"时默认执行的操作,参数EXIT_ON_CLOSE是使用
// System exit方法退出应用程序。仅在应用程序中使用
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(300, 200);// 设置面板大小,宽和高
this.setLocation(300, 300);// 设置面板刚开始的出现的位置
// 用指定名称创建一个新的定制光标对象,参数表示手状光标类型
Cursor cu = new Cursor(Cursor.HAND_CURSOR);
// 为指定的光标设置光标图像,即设置光标图像为上面所创建的手状光标类型
this.setCursor(cu);
// 将面板可视化设置为true,即可视,如果为false,即程序运行时面板会隐藏
this.setVisible(true);
// 设置面板的标题为欢迎
tf.setText("welcome to this program! ");
this.go();// 调用go方法
}
public void go() {
// 这里是死循环,也就是说用户不点击停止按钮的话他一直循环出现随机数,直到用户点
// 击停止按钮循环才能推出,具体流程在actionPerformed方法中控制。
while (true) {
// 上面所定义的isGo的初始值为false,所以程序第一次到此会跳过
if (isGo == true) {
String s = "";
// 产生7个随机数
for (int j = 1; j = 7; j++) {
// 每个随机数产生方式,这里定义灵活,可以自由定义随机数产生的方式
int i = (int) (Math.random() * 36) + 1;
// 如果产生的随机数小于10的话做处理:这里就牵扯到一个重要的概念,简单叙述一下:
if (i 10) {
s = s + " 0" + i;
/*
* 当一个字符串与一个整型数项相加的意思是连接,上面的s = s + " 0" +
* i的意思是字符串s链接0再连接整型i值,而不会导致0和整型的i相加,
* 产生的效果为s0i,由于s为空字符串(上面定义过的),所以当i小于零时,在个位数前面加上0,比如产生的随机数i为7的话,显示效果为
* 07.
*/
} else {
// 如果产生的随机数比10打的话,那么加上空格显示,即数字和数字之间有个空格
s = s + " " + i;
}
// 以上循环循环七次,以保证能出现7个随机数
}
// 将产生的随机数全部显示在文本域上,用文本域对象tf调用它的
//设置文本的方法setText(String)实现。
tf.setText(s);
}
try {
// 以下为线程延迟
Thread.sleep(10);
} catch (java.lang.InterruptedException e) {
e.printStackTrace();
}
}
}
// 以下是上面设置的事件监听的具体处理办法,即监听时间处理方法,自动调用
public void actionPerformed(ActionEvent e) {// 传入一个动作事件的参数e
// 设置字符串s来存储获得动作监听,上面的start
String s = e.getActionCommand();
/*
* 以下这个条件语句块的作用为:用户点击开始后(捕获start,用方法getActionCommand()),将命令触发设置为true,从而执行上面的go方法中的循环体(因为循环体中要求isGo参数为true,而初始为false)。
* 执行循环快产生随机数,并将开始按钮不可编辑化,而用户只可以使用停止按钮去停止。如果用户按下停止时,也就是没有传入参数“start”的时候,
* 执行else语句块中的语句,isGo设置为false,将不执行上面go中的循环语句块,从而停止产生随机数,并显示,并且把开始按钮设置为可用,而把
* 停止按钮设置为不可用,等待用户按下开始再去开始新一轮循环产生随机数。
*/
// 如果捕获到start,也就是用户触发了动作监听器,那么下面处理
if (s.equals("start")) {
isGo = true; // 设置isGo为true
b1.setEnabled(false); // 将开始按钮设置为不可用
b2.setEnabled(true); // 将停止按钮设置为可用
} else {
isGo = false; // 将isGo设置为false,isGo为循环标志位
b2.setEnabled(false); // 设置停止按钮为不可用(注意看是b2,b2是停止按钮)
b1.setEnabled(true); // 设置开始按钮为可用
}
}
public static void main(String[] args) {
new Drawing();// 产生类的实例,执行方法
}
// 圣诞平安夜了,祝朋友开心快乐!
}
百度知道上传图片太麻烦 我给你说一下吧,
第1.1层循环: 横着打印* a从1起 a=i*2+1 已知i只能是 0,1,2,3 所以a的范围 是1~7 第一层横着*
第1.2层循环: 横着打印“ ” j从0起 j=2-i 已知i只能是 0,1,2,3 所以j的范围 是0~1 ,0~-1
第二层循环:竖着打印,就是换行
i的要跑 0,1,2,3 四次,就是一共打四行,
j的要跑0,1,2,//0,1//0// 6次,第一次空3 /空2/空1
a的要跑1,//1,2,3//1,2,3,4,5//1,2,3,4,5,6,7, 16次
因为j是在a上面的 所以先打J 第一轮i=0,j打 0 ,1, 2 前面空三格 然后a开始a只能打一个1 所以 就是空三个格打 一个*,后面的以此类推,当i=3的时候,就是第四波,这时候j不符合条件 j进不去,所以第四波不打空格
大概就是这样子 ~~~~求采纳
import java.awt.*;//引入包java.awt中所有的类
import java.awt.event.*;//引入包java.awt.event中所有的类.
public class Calculator extends WindowAdapter implements ActionListener//创建Calculator类,
实现ActionListener接口.
{
private double result=0,data1=0,radixPointDepth=1;//定义变量
private boolean radixPointIndicate=false,resultIndicate=false;
private char prec='+';//创建优先默认字符"+"
private Frame f;//创建窗口
private TextField tf;//创建文本框
private Button b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13,b14,b15,b16,b17;//创建按钮
private Panel p;//创建/面板容器
static public void main(String args[])//main方法,创建calGUI(图形用户界面),完成初试化
{
//构造器
Calculator de=new Calculator();//创建构造方法
de.go();
}
public void go()
{
f=new Frame("计算器");
p=new Panel();//运算界面p
p.setLayout(new GridLayout(4,4)); // 设置p的布局为GridLayout,四行四列
tf=new TextField(30);
//实例化按钮
b1=new Button("7");
b2=new Button("8");
b3=new Button("9");
b4=new Button("+");
b5=new Button("4");
b6=new Button("5");
b7=new Button("6");
b8=new Button("-");
b9=new Button("1");
b10=new Button("2");
b11=new Button("3");
b12=new Button("*");
b13=new Button("0");
b14=new Button(".");
b15=new Button("=");
b16=new Button("/");
b17=new Button("清零");
f.add(tf,"North"); //把文本区域添加到框架的上方
f.add(p,"Center"); //把面版添加到框架的中间
f.add(b17,"South"); //把按钮(清零)添加到框架的下方
//把按钮添加到面版上
p.add(b1);
p.add(b2);
p.add(b3);
p.add(b4);
p.add(b5);
p.add(b6);
p.add(b7);
p.add(b8);
p.add(b9);
p.add(b10);
p.add(b11);
p.add(b12);
p.add(b13);
p.add(b14);
p.add(b15);
p.add(b16);
//为按钮添加监听
b1.addActionListener(this);
b2.addActionListener(this);
b3.addActionListener(this);
b4.addActionListener(this);
b5.addActionListener(this);
b6.addActionListener(this);
b7.addActionListener(this);
b8.addActionListener(this);
b9.addActionListener(this);
b10.addActionListener(this);
b11.addActionListener(this);
b12.addActionListener(this);
b13.addActionListener(this);
b14.addActionListener(this);
b15.addActionListener(this);
b16.addActionListener(this);
b17.addActionListener(this);
f.addWindowListener(this); //为框架添加监听
f.setSize(300,190);//设置框架的大小
f.setVisible(true);//设置框架为可见
}
//监听程序
public void actionPerformed(ActionEvent e)
{
String s;
s=e.getActionCommand();
//SWITCH开关
switch(s.charAt(0))
{
case '0': case '1': case '2': case '3': case '4': case '5': case '6': case
'7': case '8': case '9'://按了“0-9”,就执行下面
if(resultIndicate)
{
result=0;
data1=0;
prec='+';
}
Integer Int1=new Integer(s);
if(radixPointIndicate)
{
radixPointDepth=radixPointDepth/10;
data1=data1+(Int1.intValue())*radixPointDepth;
}
else
{
data1=data1*10+(Int1.intValue());
}
Double displayNumber=new Double(data1);
tf.setText(displayNumber.toString());
resultIndicate=false;
break;
case '+': case '-':case '*':case '/':case '='://按了“+、-、*、/”,就
执行下面
if(s.charAt(0)!='='resultIndicate)
{
prec=s.charAt(0);
resultIndicate=false;
}
else
{
//用SWITCH开关运算出执行了“+、-、*、/”的结果
switch(prec)
{
case '+':
result=result+data1;
break;
case '-':
result=result-data1;
break;
case '*':
result=result*data1;
break;
case '/':
result=result/data1;
break;
}
}
radixPointIndicate=false;
radixPointDepth=1;
displayNumber=new Double(result);
tf.setText(displayNumber.toString());
//监听是否按了“=”
if(s.charAt(0)!='=')
{
data1=0;
prec=s.charAt(0);
}
else
{
resultIndicate=true;
}
break;
case '.':
radixPointIndicate=true;
break;
}
//监听是否按了为“清零”,是则对各数据清零
if(s.equals("清零"))
{
result=0;
data1=0;
radixPointDepth=1;
tf.setText("");
}
}
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
}
请点击输入图片描述
package com.greatwall.business.controller;
import java.math.BigDecimal;
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* @author xysddjyt
* @since 2020/6/16 15:06
*/
public class BankTest {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
// 余额(单位:分)
Long BALANCE = 10000000L;
// 卡号
String card = "001";
// 密码
String password = "123456";
String inputCard = new String();
String inputPassword = new String();
String quit = new String();
while (true) {
System.out.println("\n欢迎来到网上银行办理存取款业务!");
System.out.println("请输入银行卡号和银行卡密码进行登录!");
while (true) {
System.out.print("请输入银行卡号(按q退出): ");
inputCard = scan.nextLine();
quit = inputCard;
if (inputCard.equals("q")) {
break;
}
if (!inputCard.equals(card)) {
System.out.print("您输入银行卡号不正确,请重新输入 ");
continue;
}
break;
}
if (quit.equals("q")) {
continue;
}
while (true) {
System.out.print("请输入银行卡密码(按q退出): ");
inputPassword = scan.nextLine();
quit = inputPassword;
if (inputPassword.equals("q")) {
break;
}
if (!inputPassword.equals(password)) {
System.out.print("您输入银行卡密码不正确,请重新输入 ");
continue;
}
break;
}
if (quit.equals("q")) {
continue;
}
System.out.print("登录成功,当前登录的账户名:" + inputCard);
String type = "4";
while (!type.equals("0")) {
System.out.print("\n您当前的余额为:" + money(BALANCE) + "元");
System.out.print("\n请选择操作类型。(存款:1;取款:2 ;余额:3;退出:0)\n");
type = scan.nextLine();
switch (type) {
case "1": {
System.out.print("请输入您的存款金额(元):");
String chageNumber = scan.nextLine();
if (!isPositiveInteger(chageNumber)) {
System.out.print("请输入正确的存款金额!");
continue;
}
BALANCE = Long.valueOf(chageNumber) * 100 + BALANCE;
continue;
}
case "2": {
System.out.print("请输入您的取款金额(元):");
String chageNumber = scan.nextLine();
if (!isPositiveInteger(chageNumber)) {
System.out.print("请输入正确取款金额!");
continue;
}
BALANCE = BALANCE - Long.valueOf(chageNumber) * 100;
continue;
}
case "3": {
System.out.print("您当前的余额为:" + money(BALANCE) + "元\n");
continue;
}
default: {
continue;
}
}
}
}
}
private static boolean isMatch(String regex, String orginal) {
if (orginal == null || orginal.trim().equals("")) {
return false;
}
Pattern pattern = Pattern.compile(regex);
Matcher isNum = pattern.matcher(orginal);
return isNum.matches();
}
// 判断数据是否为正整数
public static boolean isPositiveInteger(String orginal) {
return isMatch("^\\+{0,1}[1-9]\\d*", orginal);
}
// 分转元,转换为bigDecimal在toString
public static String money(Long money) {
return BigDecimal.valueOf(money).divide(new BigDecimal(100)).toString();
}
}
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流