小编jam*_*jam的帖子

在PHP> = 4.3.0中使用静态属性?

免责声明:是的,我被迫支持PHP 4.3.0.我知道它已经死了.不,我不能升级它,因为我正在处理多个服务器,其中一些我没有su访问权限.

好吧,因为我不能使用,self::因为它是PHP5特定的,我应该如何在PHP4类中实现静态?到目前为止,我的研究似乎我至少可以使用static关键字除了只在函数上下文中,我已经看到另一种方法使用$ _GLOBALS,但我不认为我将使用它.

就这样我们在同一页面上我需要访问4中的这些PHP5静态:

public static $_monthTable = array(
     31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
public static $_yearTable = array(
     1970 => 0,            1960 => -315619200);
Run Code Online (Sandbox Code Playgroud)

到目前为止,我已经提出了我自己的函数,基本上设置一个静态变量,如果找不到,我将所有静态属性硬编码到其中.但是,我不完全确定如何在同一类中的anther方法中引用这些静态,假设它没有被实例化并且没有触发构造函数,这意味着我无法使用$this.

class DateClass {

    function statics( $name = null ) {

        static $statics = array();

        if ( count( $statics ) == 0 ) {
            $statics['months'] = array(
                'Jan', 'Feb'
            );
        }

        if ( $name != null && array_key_exists($name, $statics ) ) …
Run Code Online (Sandbox Code Playgroud)

php php4 static-members

5
推荐指数
1
解决办法
3266
查看次数

子串递归算法不起作用

我是第一个C++类的编程学生,最近我们被鼓励编写一个简单的递归函数来查找给定字符串中第一次出现的子字符串.如果找到,则返回索引.如果未找到子字符串,则该index_of()函数应返回-1.我们鼓励使用一个辅助函数,它将索引作为其参数之一,这就是我尝试过的.

例如:

int index_of("Mississippi", "sip"); // this would return a 6
Run Code Online (Sandbox Code Playgroud)

这应该是一个简单的练习,以帮助我们理解递归,并且不会被提交.我的教授说我们实际的递归赋值将更加复杂,这就是为什么我真的想要理解递归的简单用法.

我已经使用C风格的字符串和指针成功完成了这项工作,但没有使用C++ std :: string对象.我的节目中我做错了什么?我的教授表示我们应该能够在5分钟内轻松写出来,但我已经苦苦挣扎了两个小时.这是我到目前为止所做的:

int index_of(string s, string t)
{
    int index = 0;

    if (s[index] == NULL)
        return -1;
    else if (starts_with(s, t, ++index))
    {
        return index;
    }
    else 
        return index;
}

bool starts_with(string s, string t, int index)
{
    if (t[index] == NULL)
        return true;
    if ( s[index] == NULL || t[0] != s[index])
        return false;
    return starts_with(s, t, ++index);
}
Run Code Online (Sandbox Code Playgroud)

如上所述,此函数始终返回index1.

c++ string recursion

5
推荐指数
2
解决办法
2139
查看次数

InputStream - 处理网络更改

我正在使用Java邮件API下载附件,每当网络状态发生微小变化时,我的应用程序就会卡住,我必须重新启动它,它甚至都没有崩溃.这是代码片段:

InputStream is = bodyPart.getInputStream();

String fileName = MimeUtility.decodeText(bodyPart.getFileName());

// Downloading the file
File f = new File(Constants.getPath() + fileName);
try {
    FileOutputStream fos;
    fos = new FileOutputStream(f);

    byte[] buf = new byte[8*1024];
    int bytesRead;

    while ((bytesRead = is.read(buf)) != -1) {
    fos.write(buf, 0, bytesRead);
    }
    fos.close();
}
Run Code Online (Sandbox Code Playgroud)

处理这个问题的最佳方法是什么?谢谢.

java android network-programming inputstream

5
推荐指数
1
解决办法
219
查看次数

使自定义组织结构图具有响应性。CSS,HTML,引导程序

(文章底部提供了HTML和CSS代码)

我正在使用Bootstrap 3.0.2制作Web应用程序,这可以帮助我使大多数应用程序具有响应能力。

我想添加一个组织结构图,以显示元素的层次结构,所以我找到了一些使用无序列表来显示此代码的代码。但是,成为一名初学者程序员,我的问题是使组织结构图与我的目标一致,即使网站在大多数屏幕尺寸下都看起来不错。

从下图可以看到,问题在于,当第二级的列表项有太多的子级(第三级)时,它变得太宽并将其兄弟姐妹向下推到下一行。这样,边框(使用伪元素:: before和:: after制作的)将无法正确显示。

在此处输入图片说明

在此处输入图片说明

我怀疑解决方案可能涉及到一旦屏幕尺寸变得太小,就要在第3层上下调整每个元素(-标签)的尺寸。问题是我不知道只针对3级标签,因为我希望顶层元素保持相同的大小。也只想了解我可以尝试的一般技巧/建议。我愿意将其全部更改,或免费使用任何已经存在的响应式组织结构图进行商业使用。甚至有一种解决方案,我可以将som引导程序元素合并到组织结构图中以满足我的要求?

感谢您的时间和精力。即使只是一些提示,以正确的方向推动我也会大有帮助!

HTML代码:

<!--
ORG CHART
=========================================-->

<div class="container-fluid" style="margin-top:20px">
    <div class="row">
        <div class="col-md-12">
            <div class="tree">
                <ul>
                    <li>
                        <a href="#">

                            <div class="container-fluid">
                                <div class="row">
                                    Top level
                                </div>
                                <div class="row" style="margin-top: 35px;">
                                    <i class="fa fa-exclamation-circle fa-2x"></i>
                                </div>
                                <div class="row">
                                    15 Failed Tests
                                </div>
                            </div>

                        </a>
                        <ul>
                            <li>
                                <a href="#">

                                    <div class="container-fluid">
                                        <div class="row">
                                            Customer
                                        </div>
                                        <div class="row" style="margin-top: 35px;">
                                            <i class="fa fa-exclamation-circle fa-2x"></i>
                                        </div>
                                        <div class="row">
                                            3 Failed Tests
                                        </div>
                                    </div>

                                </a>
                            </li>
                            <li> …
Run Code Online (Sandbox Code Playgroud)

html javascript css jquery twitter-bootstrap-3

5
推荐指数
2
解决办法
2万
查看次数

Say函数出错

我正在使用Mac System 7.5.5附带的Apple Script Editor并尝试运行一个简单的程序:

say "Starting to empty the trash."
tell application "Finder"
  empty trash
end tell
say "Finished emptying the trash."
Run Code Online (Sandbox Code Playgroud)

但是当我点击运行按钮时,我得到了这个:

说错误http://img502.imageshack.us/img502/7341/applescripterror.png

我从1999年出版的Apple AppleScript Language Guide一书中获得了这段代码.

macos applescript

4
推荐指数
1
解决办法
358
查看次数

当 S Pen 在 android note 中分离时,将您的应用程序置于最前面?

我想在 S Pen 分离时立即打开我的应用程序,如果仅在我的应用程序再次打开时调用放在 onSPenDetached 下的方法,你怎么能做到这一点?

谢谢,昌都

android galaxy

4
推荐指数
1
解决办法
741
查看次数

向树添加新元素也会将其添加到树的部分副本中

在下面的代码中,我们创建了两个不同的TreeSet对象.

我们为第一个对象分配了一些值,然后我们将第一个对象的子集分配给第二个对象.然后,我们向第一个对象添加元素(609).那么为什么这个新元素会出现在两个对象中呢?

import java.util.*;
public class Explorer1 {
    public static void main(String[] args) {
        TreeSet<Integer> s = new TreeSet<Integer>();
        TreeSet<Integer> subs = new TreeSet<Integer>();
        for(int i = 606; i < 613; i++)
            if(i%2 == 0) s.add(i);
        subs = (TreeSet)s.subSet(608, true, 611, true);
        s.add(609);
        System.out.println(s + " " + subs);
    }
}
Run Code Online (Sandbox Code Playgroud)

输出:[606,608,609,610,612] [608,609,610]

java collections

4
推荐指数
1
解决办法
514
查看次数

次要升级要求

我想使用小升级,但我对这种升级的要求有两个问题.

可能吗:

  1. 从仅在一个现有功能中共享的组件中删除文件(而不是KeyPath)(并且在删除组件后仍然不为空)?
  2. 删除现有组件(我猜它会违反规则)?

感谢帮助!

wix upgrade

3
推荐指数
1
解决办法
630
查看次数

Random每次都返回相同的输出

我写了这个代码,它工作正常,但每次输出都是一样的.所以没有随意的.很想知道为什么!假设:33名学生第一排:7名学生第2排:9名学生第3排:9名学生第4排:8名学生

#include <iostream>
#include <vector>
#include <algorithm>
#include <ctime>
using namespace std;

int main() {
   vector<int> random;

   for (int i = 1; i < 34; i++)
      random.push_back(i);

   random_shuffle(random.begin(), random.end());

   for (int i = 1; i < 8; i++)
      cout << random[i] << " " ;
   cout << endl;

   int i = 7;
   int num_seats = 1;

   for (int j = 1; j <=3; j++) {
      while (num_seats < 10 && i < 33) {
         cout << random[i++] << " " …
Run Code Online (Sandbox Code Playgroud)

c++ random vector

2
推荐指数
1
解决办法
412
查看次数

C#++一元运算符增量问题

有关C#++(右侧放置)运算符的问题.

作为左放置++操作者,例如,++变种,(说保持的1 int值)将由1的任何其他计算发生(第1实施例的值在执行后表达和结果显示将成为2)之前递增.

任何人都可以解释左侧放置的操作符和右侧放置的操作符之间的区别吗?(var ++)因为即使在执行表达式之后它似乎也没有增加.以下是一些示例代码:

        int var1, var2 = 5, var3 = 6;

        var1 = var2++ * --var3;
        Console.WriteLine(" {0} ", var1);
        Console.ReadKey();
Run Code Online (Sandbox Code Playgroud)

这仅仅是5×5由于VAR3的递减但没有减量为5×6和VAR2 ++似乎具有比5它所携带的值以外没有影响.如果有人能够阐明这个话题,我将不胜感激.谢谢.

***问题解决了.很多很棒的答案和输入员,很难确定接受什么答案,但你们都是赢家!再次感谢您的帮助!=)

c# increment operators

2
推荐指数
1
解决办法
584
查看次数