扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
楼主,你功底还有提高下,别人给你写了 你居然跑不起来。。。。
10年积累的成都做网站、网站建设、外贸营销网站建设经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站制作后付款的网站建设流程,更有上林免费网站建设让你可以放心的选择与我们合作。
结论
我觉得学编程,写项目没有必要去背代码,除非你是为了面试,那就可以稍微背一下。你可以先了解网络编程相关的函数大概了解它们的作用,然后去一些代码开源网站找一些java网络编程相关的项目,然后你尝试去模仿它,这样的话,你的编程能力可能就会进步得快一点。
具体操作
在以下网站中进行相关网络编程函数的查询学习。
里面也有相关例子的讲解。
连连看java源代码
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class lianliankan implements ActionListener
{
JFrame mainFrame; //主面板
Container thisContainer;
JPanel centerPanel,southPanel,northPanel; //子面板
JButton diamondsButton[][] = new JButton[6][5];//游戏按钮数组
JButton exitButton,resetButton,newlyButton; //退出,重列,重新开始按钮
JLabel fractionLable=new JLabel("0"); //分数标签
JButton firstButton,secondButton; //分别记录两次被选中的按钮
int grid[][] = new int[8][7];//储存游戏按钮位置
static boolean pressInformation=false; //判断是否有按钮被选中
int x0=0,y0=0,x=0,y=0,fristMsg=0,secondMsg=0,validateLV; //游戏按钮的位置坐标
int i,j,k,n;//消除方法控制
public void init(){
mainFrame=new JFrame("JKJ连连看");
thisContainer = mainFrame.getContentPane();
thisContainer.setLayout(new BorderLayout());
centerPanel=new JPanel();
southPanel=new JPanel();
northPanel=new JPanel();
thisContainer.add(centerPanel,"Center");
thisContainer.add(southPanel,"South");
thisContainer.add(northPanel,"North");
centerPanel.setLayout(new GridLayout(6,5));
for(int cols = 0;cols 6;cols++){
for(int rows = 0;rows 5;rows++ ){
diamondsButton[cols][rows]=new JButton(String.valueOf(grid[cols+1][rows+1]));
diamondsButton[cols][rows].addActionListener(this);
centerPanel.add(diamondsButton[cols][rows]);
}
}
exitButton=new JButton("退出");
exitButton.addActionListener(this);
resetButton=new JButton("重列");
resetButton.addActionListener(this);
newlyButton=new JButton("再来一局");
newlyButton.addActionListener(this);
southPanel.add(exitButton);
southPanel.add(resetButton);
southPanel.add(newlyButton);
fractionLable.setText(String.valueOf(Integer.parseInt(fractionLable.getText())));
northPanel.add(fractionLable);
mainFrame.setBounds(280,100,500,450);
mainFrame.setVisible(true);
}
public void randomBuild() {
int randoms,cols,rows;
for(int twins=1;twins=15;twins++) {
randoms=(int)(Math.random()*25+1);
for(int alike=1;alike=2;alike++) {
cols=(int)(Math.random()*6+1);
rows=(int)(Math.random()*5+1);
while(grid[cols][rows]!=0) {
cols=(int)(Math.random()*6+1);
rows=(int)(Math.random()*5+1);
}
this.grid[cols][rows]=randoms;
}
}
}
public void fraction(){
fractionLable.setText(String.valueOf(Integer.parseInt(fractionLable.getText())+100));
}
public void reload() {
int save[] = new int[30];
int n=0,cols,rows;
int grid[][]= new int[8][7];
for(int i=0;i=6;i++) {
for(int j=0;j=5;j++) {
if(this.grid[i][j]!=0) {
save[n]=this.grid[i][j];
n++;
}
}
}
n=n-1;
this.grid=grid;
while(n=0) {
cols=(int)(Math.random()*6+1);
rows=(int)(Math.random()*5+1);
while(grid[cols][rows]!=0) {
cols=(int)(Math.random()*6+1);
rows=(int)(Math.random()*5+1);
}
this.grid[cols][rows]=save[n];
n--;
}
mainFrame.setVisible(false);
pressInformation=false; //这里一定要将按钮点击信息归为初始
init();
for(int i = 0;i 6;i++){
for(int j = 0;j 5;j++ ){
if(grid[i+1][j+1]==0)
diamondsButton[i][j].setVisible(false);
}
}
}
public void estimateEven(int placeX,int placeY,JButton bz) {
if(pressInformation==false) {
x=placeX;
y=placeY;
secondMsg=grid[x][y];
secondButton=bz;
pressInformation=true;
}
else {
x0=x;
y0=y;
fristMsg=secondMsg;
firstButton=secondButton;
x=placeX;
y=placeY;
secondMsg=grid[x][y];
secondButton=bz;
if(fristMsg==secondMsg secondButton!=firstButton){
xiao();
}
}
}
public void xiao() { //相同的情况下能不能消去。仔细分析,不一条条注释
if((x0==x (y0==y+1||y0==y-1)) || ((x0==x+1||x0==x-1)(y0==y))){ //判断是否相邻
remove();
}
else{
for (j=0;j7;j++ ) {
if (grid[x0][j]==0){ //判断第一个按钮同行哪个按钮为空
if (yj) { //如果第二个按钮的Y坐标大于空按钮的Y坐标说明第一按钮在第二按钮左边
for (i=y-1;i=j;i-- ){ //判断第二按钮左侧直到第一按钮中间有没有按钮
if (grid[x][i]!=0) {
k=0;
break;
}
else //K=1说明通过了第一次验证
}
if (k==1) {
linePassOne();
}
}
if (yj){ //如果第二个按钮的Y坐标小于空按钮的Y坐标说明第一按钮在第二按钮右边
for (i=y+1;i=j ;i++ ){ //判断第二按钮左侧直到第一按钮中间有没有按钮
if (grid[x][i]!=0){
k=0;
break;
}
else
}
if (k==1){
linePassOne();
}
}
if (y==j ) {
linePassOne();
}
}
if (k==2) {
if (x0==x) {
remove();
}
if (x0x) {
for (n=x0;n=x-1;n++ ) {
if (grid[n][j]!=0) {
k=0;
break;
}
if(grid[n][j]==0 n==x-1) {
remove();
}
}
}
if (x0x) {
for (n=x0;n=x+1 ;n-- ) {
if (grid[n][j]!=0) {
k=0;
break;
}
if(grid[n][j]==0 n==x+1) {
remove();
}
}
}
}
}
for (i=0;i8;i++ ) { //列
if (grid[i][y0]==0) {
if (xi) {
for (j=x-1;j=i ;j-- ) {
if (grid[j][y]!=0) {
k=0;
break;
}
else
}
if (k==1) {
rowPassOne();
}
}
if (xi) {
for (j=x+1;j=i;j++ ) {
if (grid[j][y]!=0) {
k=0;
break;
}
else
}
if (k==1) {
rowPassOne();
}
}
if (x==i) {
rowPassOne();
}
}
if (k==2){
if (y0==y) {
remove();
}
if (y0y) {
for (n=y0;n=y-1 ;n++ ) {
if (grid[i][n]!=0) {
k=0;
break;
}
if(grid[i][n]==0 n==y-1) {
remove();
}
}
}
if (y0y) {
for (n=y0;n=y+1 ;n--) {
if (grid[i][n]!=0) {
k=0;
break;
}
if(grid[i][n]==0 n==y+1) {
remove();
}
}
}
}
}
}
}
public void linePassOne(){
if (y0j){ //第一按钮同行空按钮在左边
for (i=y0-1;i=j ;i-- ){ //判断第一按钮同左侧空按钮之间有没按钮
if (grid[x0][i]!=0) {
k=0;
break;
}
else //K=2说明通过了第二次验证
}
}
if (y0j){ //第一按钮同行空按钮在与第二按钮之间
for (i=y0+1;i=j ;i++){
if (grid[x0][i]!=0) {
k=0;
break;
}
else
}
}
}
public void rowPassOne(){
if (x0i) {
for (j=x0-1;j=i ;j-- ) {
if (grid[j][y0]!=0) {
k=0;
break;
}
else
}
}
if (x0i) {
for (j=x0+1;j=i ;j++ ) {
if (grid[j][y0]!=0) {
k=0;
break;
}
else
}
}
}
public void remove(){
firstButton.setVisible(false);
secondButton.setVisible(false);
fraction();
pressInformation=false;
k=0;
grid[x0][y0]=0;
grid[x][y]=0;
}
public void actionPerformed(ActionEvent e) {
if(e.getSource()==newlyButton){
int grid[][] = new int[8][7];
this.grid = grid;
randomBuild();
mainFrame.setVisible(false);
pressInformation=false;
init();
}
if(e.getSource()==exitButton)
System.exit(0);
if(e.getSource()==resetButton)
reload();
for(int cols = 0;cols 6;cols++){
for(int rows = 0;rows 5;rows++ ){
if(e.getSource()==diamondsButton[cols][rows])
estimateEven(cols+1,rows+1,diamondsButton[cols][rows]);
}
}
}
public static void main(String[] args) {
lianliankan llk = new lianliankan();
llk.randomBuild();
llk.init();
}
}
//old 998 lines
//new 318 lines
不需要全部,初级java在学习的过程就是模仿的过程,把javase、ee的基础学习通透,培训重点是把基础理论学习好),怎么才能通透就是相关基础的东西多敲几次,敲多了就成自己的东西,首先要把基础打好。但知道如何写代码也不行,实际解决问题的能力更重要,java是个不断学习的过程,建议在网上多找一找视频进行学习了解,多看看网上专业人士的学习方法和经验建议,千锋教育就有线上免费Java线上公开课。 千锋教育总部位于北京,在18个城市拥有22个校区,讲师均来自一线大厂兼具项目实战与教学经验,学科大纲紧跟企业需求,拥有国内一体化教学管理及学员服务,与国内20000余家企业建立人才输送合作关系,院校合作超600所,学科大纲紧跟企业需求,拥有国内一体化教学管理及学员服务。
楼主专门发了个消息来问如何学习编程。其实编程和其它任何学科的学习是一样的。一定自己本身有兴趣,逐步积累。
1.基础 很难想像没有扎实的数据结构、编译原理的基础能写出好的程序。在刚开始学习编程的时候,就要守得住寂寞,去学C,再去学数据结构等。浮沙上焉能建大厦?
2.选择一门OOP的语言。C++,Java,C#,Delphi都是不错的选择。OOP是一种解决问题的思想,要从这个层面来理解组合继承、多态。这时,你可以需要看设计模式了,这是先人利用面向对象解决问题的总结。还要熟悉所用语言的库。
3.深入。如果编写Win下面程序,理解消息机制,多熟悉Win的API,MSDN是你的好帮手。再在网络通讯,数据库等,选择一个方向深入。此时的你,已是手握屠龙刀,只待时机,即可一战成功。
PS:Google Baidu 其实是最好的老师。希望所写的一点小文能帮到你,也能对看的其它人有所激励。
记住java代码不是一朝一夕就能成功的,需要多学多练,熟能生巧。以下是一些注意事项和技巧,对你有帮助:
不要总对别人说的给个代码吧!你应该多想想如何做,怎么做?当你自己想出来再参考别人的提示,你就知道自己和别人思路的差异,这样才能进步。
初学者请不要看太多太多的书,只会纷乱你的心思,先找本好书完整系统的学,很多人只对部分功能熟悉而已,不系统功能体系上还是不够的。
看帮助,不要因为很难而自己是初学者所以就不看;多看的参考手册,虽然你可能看不懂,总觉得不够直观。但这才是最根本的东西。
不要被对象、属性、方法等词汇所迷惑;最根本的是先了解最基础知识。
要关注那些细小的细节的问题--他们往往并不那么简单,为了解决它你可能要用到很多很多的东西,帮你回顾知识点;拓宽思路。
知道一点东西,并不能说明你会写脚本,脚本是需要经验积累的。学脚本并不难,JSP、ASP、PHP等等也不过如此--难的是长期坚持实践和不遗余力的博览群书;
学习java最好的方法之一就是上手动手去练习;永远不要认为自己看的书足够了;要看懂书,仔细看书;遇到完全看不懂的书,请硬着头皮看; 别指望看第一遍书就能记住和掌握什么,一次,两次,三次知道搞懂所有的东西;
不着急,因为学习脚本不是一蹴而就的,只有厚积才能薄发。学习的过程中,记下自己喝别人不懂的思路想法。与别人经常交流,记录下在和别人交流时发现的自己忽视或不理解的知识点;
首先你得学会出现问题自己想办法找答案,谷歌、百度都是很好的搜索引擎,你只要输入关键字就能找到很多相关资料,用自己的行动学好java吧。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流